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

In what situation the on event can fail?

本文关键字:失败 事件 情况下 on 在什么      更新时间:2023-09-26

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

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

如果我在单独的文件中使用这段代码,它是有效的,但在我的实际源代码中,我无法调度事件:(可能是什么原因?

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

<body onload="init()">

这里是您的javascript函数:

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

原因可能是什么?

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

我在setTimeout方法中编写了代码,这解决了问题。我没想到会发生这种情况,因为我将事件附加到主体而不是元素。在将事件附加到主体时,元素并不真正存在,因此没有调度该事件。