首页 > 老是调用不了JS函数

老是调用不了JS函数

 <div id="bb" onclick="aa()"></div>正常情况

若去掉onclick="aa()",改为$("#bb").click(function(){}),就老执行不了,最可能的原因是什么,还有怎么调试原因所在


你试试把div改成这样

<div id="bb">
    <script type="text/javascript">
        $("#bb").click(function(){alert("执行了")});
    </script>
</div>

如果改成上面那样可以的话,就表示用你的方法注册click事件时,这个id是bb的div根本还没加载,你研究一下你这个div是什么时候加载的,再到合适的时机注册时间呗,不然再把多一些代码贴出来给大家帮着看看吧


jQuery(function($){
    $('#bb').click(function(){
        // .....
    });
});

这样呢? 看了上面的回答, 感觉应该是你注册事件回调的时候, dom还没有出来


改成这样试试:jQuery("#bb").click(function(){})。


1.确认页面是否有其他报错
2.确认页面是否有jquery
3.确认页面是否有id为bb的标签
4.试试这样:$("#bb").click(function(){alert(1)})


我怎么记得是
document.getElementById("bb").onclick = function(){
alert(1);
}


根据经验,八成是在事件绑定上出了问题。
看看浏览器的 Console 有没有报错,根据错误来判断,一般会有两种可能:

  1. $("#bb").click(function(){}) 你的这段代码放置在主体文档(指
    body)之前,事件绑定在了一个还未生成的元素上;
  2. jQuery 未引入。

要是没发现报错的话,那就活见鬼了~


确认是否有两个#bb,大于1个的话,只有第一个能执行,后面的都不会执行~ 而且不会报错

要是使用 ajax 添加的 div 就需要 使用(on、live)了

【热门文章】
【热门文章】