导入.js脚本时,单击时没有响应
No response on click when .js script is imported
此代码运行良好:
HTML
<form>
<input type="radio" name="category" value="doctor" /> Doctor
<input type="radio" name="category" value="police" checked /> Policia
</form>
JS-
var category = null;
$("input[name='category']").click(function() {
category = this.value;
alert(category);
});
当您单击单选按钮时,会立即收到响应。但是,当您在外部javascript文件中有相同的脚本时。它不起作用。当两者都在一个html文件中时,上面的代码就可以工作了。
如果我在不同的文件中做同样的事情,比如index.html和jscript.js
index.html
<html>
<head>
<script type="text/javascript" src="jscript.js"></script>
</head>
<body>
<form>
<input type="radio" name="category" value="doctor" /> Doctor
<input type="radio" name="category" value="police" checked /> Policia
</form>
</body>
</html>
jscript.js
var category = null;
$("input[name='category']").click(function() {
category = this.value;
alert(category);
});
这行不通。
将deffer属性添加到脚本导入中。它将在所有浏览器都支持html后执行js
参考:http://www.w3schools.com/tags/att_script_defer.asp
或者,如果您正在使用jQuery,请确保所有处理程序都添加到onready函数中:
$(document).ready(function(){
var category = null;
$("input[name=category]").click(function() { // you don;t need quotes here for category name
category = this.value;
alert(category);
});
});
您可能需要在外部文件中添加jquery.load函数
$(window).load(function() {
var category = null;
$("input[name='category']").click(function() {
category = this.value;
alert(category);
});
}
在关闭body标记之前,在html代码下导入js文件。然后运行
这应该可以完成您的工作:
$(document).ready(function(){
//Your code here....
});
相关文章:
- 基于类的单击事件在10行之后不响应-数据表
- 单击按钮后的无响应元素
- 单击链接时折叠响应式导航
- 必须单击两次才能得到一个响应
- isHidden函数要求我在应用响应显示时单击两次
- 通过响应按钮单击更改表标题,其中行使用 JSTL for 循环更新
- 如何使我的数字刻度对滚动和单击做出响应
- 引导两个响应菜单-单击另一个菜单按钮时折叠一个菜单
- 为什么 mac 浏览器上的选择框没有响应单击事件
- 单击事件在响应菜单中不起作用
- 如何自动单击 AJAX 响应处理程序中自动生成的链接
- Fancybox在第二次单击时响应,并且不会切换到下一个图像
- 如何在单击后获取整个对象作为响应
- 在 href 单击时返回另一个函数的响应
- 在单击事件时更新主干模型,并在更改位置之前等待响应
- 响应式 jQuery 不起作用:单击宽度低于 768px 并将鼠标悬停在 768px 上方
- 如何在单击单元格时从表中获取共同响应的 JavaScript 值
- 如何创建一个响应单击或输入按下的 javascript 函数
- 使用VueJS 2.0和vue-mdl菜单组件,如何响应单击事件?
- 正在响应单击复选框列表中的ListItems