gpt4 book ai didi

javascript - 在使用 XMLHttpRequest 调用的 DIV 上执行 JQuery 函数?

转载 作者:太空宇宙 更新时间:2023-11-04 12:25:02 25 4
gpt4 key购买 nike

我有一个 Jquery XMLHttpRequest 附加到下拉列表,当选择更改时,它从数据库返回下面的代码:

<label for="trial"> Trial1
<input type"text" id='test1' title=''>
&nbsp;
<label for="trial"> Trial2
<input type"text" id='test2' title=''>

效果很好,但是我有另一个 Jquery,它返回图片(提示工具提示)并在鼠标悬停在输入框上时将其显示在输入框旁边。

$(function() {
$( "#test1" ).tooltip({
content: '<img src="http://www.lessons4living.com/images/penclchk.gif"/>' });
$( "#test2" ).tooltip({
content: '<img src="http://www.lessons4living.com/images/penclchk.gif"/>' });

$( "[title]" ).tooltip({
position: {
my: "left top",
at: "right+5 top-5"
}
});
});

当网站加载时输入框已经在 HTML 中时,它工作得很好,但当这些通过 jquery XMLHttpRequest 返回时不起作用,因为我相信 Jquery 已经被执行了。

我试过使用:visible Selector - 什么都不做每个输入框上的 OnMouseover 标签 - 执行代码一次并显示图像,但不会再次执行并且似乎间歇性地工作OnHover Jquery 函数 - 什么都不做

http://jsfiddle.net/dfkhrcst/

有什么方法可以在返回输入框后执行上面的函数吗?

谢谢

更新:忘记添加 xmlhttprequest

function a(str) {
if (str == "") {
document.getElementById("test").innerHTML = "";
return;
} else {
if (window.XMLHttpRequest) {
// code for IE7+, Firefox, Chrome, Opera, Safari
xmlhttp = new XMLHttpRequest();
} else {
// code for IE6, IE5
xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
}
xmlhttp.onreadystatechange = function() {
if (xmlhttp.readyState == 4 && xmlhttp.status == 200) {
document.getElementById("test").innerHTML = xmlhttp.responseText;
}
}
xmlhttp.open("GET","test.php?a="+str,true);
xmlhttp.send();
}

}

最佳答案

您可能需要事件委托(delegate)。将事件处理程序附加到未动态添加的父元素。当您的 ajax 返回元素时,它将分离事件处理程序。有点像

$("form").on("tooltip", "#test1", function(){do stuff here});

这将委托(delegate)事件,因此当元素更改时它不会分离。

关于javascript - 在使用 XMLHttpRequest 调用的 DIV 上执行 JQuery 函数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28077271/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com