jQuery onclick不起作用
我试图获得onclick工作,但它没有…这是我的代码:
HTML
jQuery alert test $('#submit').click(function(){ alert('This onclick function forks!'); });
有人可以告诉我,为什么这个onclick不起作用?
在加载DOM元素之前,您的JS正在被淘汰。 因此,您的事件处理程序未附加到元素,因为它当时不存在。
用DOM就绪处理程序包装你的JS:
$(document).ready(function () { $('#submit').click(function(){ alert('This onclick function forks!'); }); });
您也可以使用事件委派,因为document
对象在执行时存在:
$(document).on('click', '#submit', function () { alert('This onclick function forks!'); });
也许缺少JQuery库..然后在你的代码上添加:
$(document).ready(function(){ ...code here.. });
您需要等待文档准备好。 您正尝试在页面确实存在的内容上附加单击事件。
修复范围从:
- 将脚本块移动到页面底部。
- 或者使用jQuery的文档,例如
$(document).ready(function () { ... });
或$(function() { ... });
当然,如果您使用jQuery是为了附加和事件监听器,那么我首先要certificate使用jQuery是合理的,但那只是我。
祝好运
虽然接受的答案(使用ready
)有效,但这不是最佳做法。
最佳做法是将script
标记放在文档末尾 ,就在结束标记之前,请注意以下注释:
jQuery alert test
那样
-
代码运行时存在元素
-
下载外部脚本不会阻止页面显示
更多YUI 最佳实践加速您的网站 。