如何将HTML按钮和javascript逻辑分离到不同的文件中
How to separate HTML button and javascript logic into different files
我需要喜欢将HTML文件中的按钮和它的点击javascript函数拆分到javascript
文件中。
以下是我迄今为止所尝试的:
试用1:结合HTML子按钮按钮和按钮的点击功能
<!DOCTYPE html>
<html>
<head>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.3/jquery.min.js"></script>
<link rel="stylesheet" href="//code.jquery.com/ui/1.11.4/themes/smoothness/jquery-ui.css">
<script src="//code.jquery.com/jquery-1.10.2.js"></script>
<script src="//code.jquery.com/ui/1.11.4/jquery-ui.js"></script>
<link rel="stylesheet" href="/resources/demos/style.css">
</head>
<body>
<form id="advertiseForm" name="advertiseForm" method="post" >
<br /><br /><br />
<div style="text-align:center">
<input class="button button2" id="submitbutton" type="button" value="Submit" />
</div>
<script>
$( "#submitbutton" ).on( "click", validatelanded );
function validatelanded( event ){
alert( "Hello." );
}
</script>
</form>
</body>
试用2:将HTML文件中的HTML sumitbutton按钮及其点击功能分离到js文件中。
<!DOCTYPE html>
<html>
<head>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.3/jquery.min.js"></script>
<link rel="stylesheet" href="//code.jquery.com/ui/1.11.4/themes/smoothness/jquery-ui.css">
<script src="//code.jquery.com/jquery-1.10.2.js"></script>
<script src="//code.jquery.com/ui/1.11.4/jquery-ui.js"></script>
<link rel="stylesheet" href="/resources/demos/style.css">
<script type="text/javascript" src="advertisementlandedvalidationatclient.js"></script>
</head>
<body>
<form id="advertiseForm" name="advertiseForm" method="post" >
<br /><br /><br />
<div style="text-align:center">
<input class="button button2" id="submitbutton" type="button" value="Submit" />
</div>
</form>
</body>
advertisemandedvalidationtclient.js文件
<script type="text/javascript">
$( "#submitbutton" ).on( "click", validatelanded );
function validatelanded( event ){
alert( "Hello." );
}
</script>
试用版1有效(我看到警报),试用版2无效(我看不到警报)。可能出了什么问题?
试用版1有效(我看到警报),试用版2无效(我看不到警报)。可能出了什么问题?
在第一次试用中,脚本位于html的底部。因此,当html被呈现时,脚本将被解析,相应的事件处理程序将被绑定。这是可以的,因为有一个具有指定id的按钮。
另一方面,在第二次尝试中,您已经将脚本加载到html的head标记中。此时js被解析,并且没有任何按钮来绑定此事件此外,不需要在外部js文件中使用<script>
标记。当我们在html文件中编写脚本时,我们使用这个标记。以下内容完全可以。
<script type="text/javascript" src="advertisementlandedvalidationatclient.js"></script>
如果你尝试这样做,那么问题就会得到解决:
$(function(){
$( "#submitbutton" ).on( "click", validatelanded );
function validatelanded( event ){
alert( "Hello." );
}
})
现在,当文档准备就绪时,换句话说,当浏览器呈现html时,您将绑定相应的事件处理程序。
顺便说一下,在html页面的底部加载脚本是一种更好的做法。根据渐进增强,这是一个很好的做法。
相关文章:
- 如何定义一个模块并使用它来分离js文件
- 将JS分离为多个文件
- 如何使用ngModel将自定义控件的提供程序扩展器分离到Angular 2中的单独文件中
- 网站上的文件分离(在多人项目中)
- 将样式表、javascript和图像分离到不同文件夹中的优势
- 当分离到不同的文件中时,测试失败
- 使用Javascript将数据从文本文件中分离出来
- 节点webkit windows文件系统分离器
- Javascript - 从日志文件中删除/分离时间戳
- 如何在Codeigniter中分离具有PHP标签的JavaScript文件
- 骨干.js:将视图、集合、模型分离到不同的js文件中,它们无法相互识别
- 如何在其他文件中调用 RequireJS 函数?如何分离 RequireJS 文件
- 有没有办法将依赖声明分离到节点/快递中自己的文件中
- 是否可以将javascript代码与Riot Js中的标记文件分离
- 如何将HTML按钮和javascript逻辑分离到不同的文件中
- 分离源自htc文件的事件
- 从主脚本文件中分离数组
- 如何分离文件中的角度模块和需要使用Browserify
- 如何将猫鼬子文档分离为单独的文件
- 发布/订阅后分离文件夹的客户端和服务器的代码