Javascript 如何在Ajax调用中的元素上注册鼠标器
我试图在用户单击按钮后生成的元素上注册mouseover事件 这些元素是通过ajax生成的。鼠标器似乎无法处理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
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的链接,如果可行,我应该将其作为答案吗?