Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/82.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 仅在加载DOM后绑定jQuery事件_Javascript_Jquery - Fatal编程技术网

Javascript 仅在加载DOM后绑定jQuery事件

Javascript 仅在加载DOM后绑定jQuery事件,javascript,jquery,Javascript,Jquery,在静态版本的页面中,我有一个js调用: $(document).on('click','#id_tag', function() { 首次加载文档时,带有id#id#标记的元素将不在DOM中。如何仅在DOM元素出现时绑定此事件 注意:在早期版本中,我错误地将id写为.id\u tag,因此下面的注释我想您需要这样: $(document).ready(function(){ $(document).on('click','.id_tag', function() { if($(

在静态版本的页面中,我有一个js调用:

$(document).on('click','#id_tag', function() {
首次加载文档时,带有id#id#标记的元素将不在DOM中。如何仅在DOM元素出现时绑定此事件

注意:在早期版本中,我错误地将id写为
.id\u tag
,因此下面的注释我想您需要这样:

$(document).ready(function(){
   $(document).on('click','.id_tag', function() {
     if($(this)!=null){
         //do ur stuff
     }
  });
});
还是这个-

$(function(){
   // DOM Ready - do your stuff 
   $(document).on('click','.id_tag', function() {
     if($(this)!=null){
         //do ur stuff
     }
  });
});

DOM就绪函数将完成此工作

最简单的例子就是这样

$(function(){
  var $doc = $(document);
  $doc.on('click','#id_tag', function() {
    alert('id_tag is clicked!');
  });
});
简明的:

$(function(){
    $(this).on('click', '.id_tag', function() {
        //handle click
    });
});

说明:这导致jQuery将一个单击侦听器附加到整个
文档
元素。单击时,jQuery会检查它是否是实际单击的
id\u标记
类元素。

该元素是如何添加到dom的,您不能在smae时添加它吗?此外,ID中不应包含任何
,这应该可以工作。。我唯一能猜到的是
#
而不是代码中的
。因为您使用的是事件委派,即使稍后添加元素,它也会起作用。当用户单击按钮时,会添加元素。DOM内容由服务器返回。