JQuery加载需要使用新的事件处理程序更新DOM

JQuery加载需要使用新的事件处理程序更新DOM,jquery,load,Jquery,Load,我很清楚JQuery加载不会加载到脚本中,但我没有意识到它也不会加载到事件处理程序中 我有一个加载了一系列元素的div <li class="dir" value="53.3301500, -1.5263800">Number 1</li> <li class="dir" value="53.3298200, -1.5264300">Number 2</li> 所以我认为它会起作用,但事实并非如此。有什么建议吗?注册jQuery事件时,它们会在代

我很清楚JQuery加载不会加载到脚本中,但我没有意识到它也不会加载到事件处理程序中

我有一个加载了一系列元素的div

<li class="dir" value="53.3301500, -1.5263800">Number 1</li>
<li class="dir" value="53.3298200, -1.5264300">Number 2</li>

所以我认为它会起作用,但事实并非如此。有什么建议吗?

注册jQuery事件时,它们会在代码运行时根据选择器的结果注册,因此新生成的DOM元素不会注册事件

使用jQuery的
live()
函数为尚不存在的DOM元素注册事件,该事件将与使用的选择器匹配:

e、 g


编辑:
发件人:


从jQuery1.7开始,不推荐使用.live()方法使用.on()附加事件处理程序。较旧版本的jQuery用户应优先使用.delegate(),而不是.live()。

注册jQuery事件时,在运行代码时,会根据选择器的结果注册这些事件,因此新生成的DOM元素不会注册事件

使用jQuery的
live()
函数为尚不存在的DOM元素注册事件,该事件将与使用的选择器匹配:

e、 g


编辑:
发件人:

从jQuery1.7开始,不推荐使用.live()方法使用.on()附加事件处理程序。较旧版本的jQuery用户应优先使用.delegate(),而不是.live()。

使用:

或:

委托通常比无上下文的
实时调用快。

使用:

或:


委托通常比没有上下文的
实时
调用快。

我仍然没有得到任何消息。不知道为什么。这里有一个链接。你所需要做的就是点击方向,输入你的邮政编码,然后点击其中一个加载方向。我在列表中没有看到一个带有“dir”类的项目。当它在你输入邮政编码后生成方向时,除了第一个和最后一个方向之外的每个方向都是结构化的,我仍然没有得到任何信息。不知道为什么。这里有一个链接。您只需单击方向,输入您的邮政编码,然后单击其中一个加载方向,我在列表中没有看到具有“dir”类的项目。当输入邮政编码后生成方向时,除第一个和最后一个方向之外的每个方向都是结构化的
$('.dir').click(function(){
        alert('blast');
    });
$('.dir').live('click', function(){
    alert('blast');
});
$('li.dir').live('click', function() {
    alert('blast not');
});
$('ul').delegate('li.dir', 'click', function() {
    alert('blast not');
});