在什么情况下,事件可能会失败?

时间:2012-02-08 14:56:36

标签: javascript jquery events

我有一个很大的源文件,所以不在这里分享,但我遇到的问题是我无法使用以下代码添加click事件:

$(document).on('click','#test' + testId , function(e){
            console.log('I was clicked');
        });

如果我在单独的文件上使用此代码,它可以工作,但在我的实际来源中,我无法发送事件:(可能是什么原因?

3 个答案:

答案 0 :(得分:0)

您必须加载您的文档,或者元素'#test' + testId必须至少存在。

<body onload="init()">

这里是你的javascript函数:

function init() 
{
    $(document).on('click','#test' + testId , function(e){
        console.log('I was clicked');
    });
}

答案 1 :(得分:0)

  

可能是什么原因?

  1. #test + testId元素不存在。
  2. 其他事件处理程序使用e.stopPropagation()return false;
  3. 停止传播

答案 2 :(得分:0)

我在setTimeout方法中编写了代码,解决了这个问题。我没想到这是因为我把事件附加到身体而不是元素。在将事件附加到身体时,该元素并不存在,因此事件未被发送。