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.. }); 

您需要等待文档准备好。 您正尝试在页面确实存在的内容上附加单击事件。

修复范围从:

  1. 将脚本块移动到页面底部。
  2. 或者使用jQuery的文档,例如$(document).ready(function () { ... });$(function() { ... });

当然,如果您使用jQuery是为了附加和事件监听器,那么我首先要certificate使用jQuery是合理的,但那只是我。

祝好运

虽然接受的答案(使用ready )有效,但这不是最佳做法。

最佳做法是将script标记放在文档末尾 ,就在结束标记之前,请注意以下注释:

    jQuery alert test             

那样

  1. 代码运行时存在元素

  2. 下载外部脚本不会阻止页面显示

更多YUI 最佳实践加速您的网站