Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/80.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript JQuery-附加链接不起作用_Javascript_Jquery_Ajax_Event Handling_Linker - Fatal编程技术网

Javascript JQuery-附加链接不起作用

Javascript JQuery-附加链接不起作用,javascript,jquery,ajax,event-handling,linker,Javascript,Jquery,Ajax,Event Handling,Linker,我使用jQuery1.3和PHP创建了一个动态列表选择器脚本,它发送一个JSONAjax请求并返回一个可供选择的项目列表。AJAX调用可以完美地返回一个项目数组,我使用Jquery将这些项目作为无序列表附加到空容器DIV中。该过程的这一部分按预期工作 问题来自这样一个事实,即从项目列表中,我将它们绘制为链接,其单击由rel属性处理。下面是一个例子: JQUERY处理程序如下所示: $'a[rel=itemPick]'。单击函数{ 代码在这里。。。 }; 加载页面时,这些链接和单击处理程序可以正常

我使用jQuery1.3和PHP创建了一个动态列表选择器脚本,它发送一个JSONAjax请求并返回一个可供选择的项目列表。AJAX调用可以完美地返回一个项目数组,我使用Jquery将这些项目作为无序列表附加到空容器DIV中。该过程的这一部分按预期工作

问题来自这样一个事实,即从项目列表中,我将它们绘制为链接,其单击由rel属性处理。下面是一个例子:

JQUERY处理程序如下所示:

$'a[rel=itemPick]'。单击函数{ 代码在这里。。。 };


加载页面时,这些链接和单击处理程序可以正常工作,但当它们附加到容器DIV时,不会拾取单击事件。我不想再次刷新整个HTML页面,所以除了append之外,我还需要做什么才能让JQUERY识别新添加的链接?

添加链接后是否绑定事件?

添加链接后是否绑定事件?

使用JQUERY.click方法时,它正在查找页面上当前存在的所有元素。然后,当您添加一个新的a元素时,它不知道该click事件处理程序

$('a[rel=itemPick]').live("click", function (){ code here... });
因此,jQuery中有一个新的事件模型,允许您将函数绑定到所有当前和未来的元素,这些元素称为。可以像使用普通事件绑定一样使用实时事件,但它们将适用于将来指定的所有元素。因此,您可以简单地将绑定逻辑切换到:

$('a[rel=itemPick]').live('click', function () {
    //code here...
})
当您使用jQuery.click方法时,它将查找页面上当前存在的所有a元素。然后,当您添加一个新的a元素时,它不知道该click事件处理程序

因此,jQuery中有一个新的事件模型,允许您将函数绑定到所有当前和未来的元素,这些元素称为。可以像使用普通事件绑定一样使用实时事件,但它们将适用于将来指定的所有元素。因此,您可以简单地将绑定逻辑切换到:

$('a[rel=itemPick]').live('click', function () {
    //code here...
})

完美的答案,只是提醒一下:live不能应用于那些事件:模糊、聚焦、鼠标移动、鼠标移动、更改、,submit@DaNieL:对!但是,我听说他们正在为未来版本中的这些事件提供支持。@Edmassa:是的,但实际上唯一的方法是jquerylive插件完美的回答,只是提醒一下:live不能应用于这些事件:模糊、聚焦、mouseenter、mouseleave、更改,submit@DaNieL:对!但是,我听说他们正在为未来版本中的这些事件提供支持。@Edmassa:是的,但实际上唯一的方法是使用jquerylive插件