Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/74.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 如何在Ajax调用中的元素上注册鼠标器_Javascript_Jquery - Fatal编程技术网

Javascript 如何在Ajax调用中的元素上注册鼠标器

Javascript 如何在Ajax调用中的元素上注册鼠标器,javascript,jquery,Javascript,Jquery,我试图在用户单击按钮后生成的元素上注册mouseover事件 这些元素是通过ajax生成的。鼠标器似乎无法处理ajax创建的元素。我想知道是否有办法解决这个问题。非常感谢 jQuery.ajax({ type: "GET", url: "http://list.php", data: null, dataType:"json", timeout: 10000, glob

我试图在用户单击按钮后生成的元素上注册mouseover事件

这些元素是通过ajax生成的。鼠标器似乎无法处理ajax创建的元素。我想知道是否有办法解决这个问题。非常感谢

jQuery.ajax({
        type: "GET", 
        url: "http://list.php", 
        data: null, 
        dataType:"json", 
              timeout: 10000,
              global: true,
              error: oh_no,
        success: 
     });

var image = document.getElementById('image');

the image path are from ajax.

function listem(){
 ......codes
 ......codes

 image.innerHTML=  image.innerHTML + "<img src="\" + imagePath + \"\>";
} 

$(document).ready(function(){   


   $('#image img').mouseover(function(){

       alert('mouseOVER!!!');

   });

})





html    

<button id='showstuff' onclick='listem();'>show</button>
jQuery.ajax({
键入:“获取”,
url:“http://list.php", 
数据:空,
数据类型:“json”,
超时:10000,
全球:没错,
错误:哦,不,
成功:
});
var image=document.getElementById('image');
图像路径来自ajax。
函数listem(){
……代码
……代码
image.innerHTML=image.innerHTML+“”;
} 
$(文档).ready(函数(){
$('#image img').mouseover(函数(){
警报('mouseOVER!!!');
});
})
html
显示

您还在页面加载时应用侦听器,但此时对象不存在。尝试创建一个类似“AddImageListeners()”的函数,并在ajax调用的“成功”部分调用它。

您也在页面加载时应用侦听器,但此时对象不存在。尝试创建类似“AddImageListeners()”的函数,并在ajax调用的“成功”部分调用它。

您需要使用live、delegate或依赖于jQ版本,而不是在选择器上设置鼠标

这意味着事件触发器也应该添加到动态添加的内容中,比如ajax调用

要做到这一点,请使用类似的方法

$(document).ready(
  $("html").on("mouseover","yourselector", yourOnMouseFunction())
);

祝您好运(如果您只想在某些选择器中使用live events,则可以用任何父选择器替换html)。

您需要使用live、delegate或取决于jQ版本,而不是将鼠标放在选择器上

这意味着事件触发器也应该添加到动态添加的内容中,比如ajax调用

要做到这一点,请使用类似的方法

$(document).ready(
  $("html").on("mouseover","yourselector", yourOnMouseFunction())
);
祝您好运(如果您只想在某些选择器中使用live events,则可以用任何父选择器替换html)。

尝试使用。您可以将事件处理委托给父对象:

 $('#image').on('click', 'img', function() {});
尝试使用。您可以将事件处理委托给父对象:

 $('#image').on('click', 'img', function() {});

您无法将鼠标悬停应用于尚不存在的元素,因此ready函数将仅应用于现有的#image。在ajax成功上做一个函数来应用监听器,你应该会做得很好

jQuery.ajax({
        type: "GET", 
        url: "http://list.php", 
        data: null, 
        dataType:"json", 
              timeout: 10000,
              global: true,
              error: oh_no,
        success: function(){
           $('#image img').mouseover(function(){
               alert('mouseOVER!!!');
           });
        }
     });

您无法将鼠标悬停应用于尚不存在的元素,因此ready函数将仅应用于现有的#image。在ajax成功上做一个函数来应用监听器,你应该会做得很好

jQuery.ajax({
        type: "GET", 
        url: "http://list.php", 
        data: null, 
        dataType:"json", 
              timeout: 10000,
              global: true,
              error: oh_no,
        success: function(){
           $('#image img').mouseover(function(){
               alert('mouseOVER!!!');
           });
        }
     });

您需要在通过ajax创建的元素中注入jquery。这将通过
.live()
函数、
.on()
函数或
livequery
插件完成。请参阅
.live()
livequery

的链接,您需要在通过ajax创建的元素中插入jquery。这将通过
.live()
函数、
.on()
函数或
livequery
插件完成。请参阅
.live()
livequery

的链接,您需要在通过ajax创建的元素中插入jquery。这将通过.live()函数或livequery插件完成。请参阅live和livequery的链接,我将其作为一个答案,如果它有效的话?您需要在通过ajax创建的元素中插入jquery。这将通过.live()函数或livequery插件完成。请参阅live和livequery的链接,如果可行,我应该将其作为答案吗?