ホームページ  >  に質問  >  本文

javascript - 老是调用不了JS函数

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

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

伊谢尔伦伊谢尔伦2750日前418

全員に返信(7)返信します

  • PHP中文网

    PHP中文网2017-04-10 14:36:34

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

    返事
    0
  • PHP中文网

    PHP中文网2017-04-10 14:36:34

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

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

    返事
    0
  • 巴扎黑

    巴扎黑2017-04-10 14:36:34

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

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

    返事
    0
  • PHPz

    PHPz2017-04-10 14:36:34

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

    返事
    0
  • PHPz

    PHPz2017-04-10 14:36:34

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

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

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

    返事
    0
  • PHP中文网

    PHP中文网2017-04-10 14:36:34

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

    返事
    0
  • 巴扎黑

    巴扎黑2017-04-10 14:36:34

    你试试把p改成这样

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

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

    返事
    0
  • キャンセル返事