繁体   English   中英

jquery选择器在ajax加载时找不到元素

[英]jquery selector not finding elements when it loaded by ajax

没有一个 jQuery 选择器通过 Ajax 请求处理从服务器加载的元素,但它在正常模式下运行良好。

$('#myid').change(function(){
  alert('OK!');
});

<select id="myid" >
 <option>1</option>
</select>

如何解决这个问题?

事件处理程序仅绑定到当前选定的元素; 在您的代码进行事件绑定调用时,它们必须存在于页面上。

委托事件的优点是它们可以处理来自稍后添加到文档的后代元素的事件。

当您通过 ajax 加载内容时。

您需要使用事件委托 您必须使用.on()使用委托事件方法。

$(document).on('change','#myid', function(){
   alert('OK!');
});

理想情况下,您应该用最近的静态容器替换document

$('#myid').live('change', function(){
    //and scope from $(this) here
    $(this).parents().find('.class:first').attr('id');
});

看起来不错!

您还可以使用现场活动

$('#myid').live('change', function(){ alert('OK!'); });

注意:实时事件在 v1.9 中已弃用

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM