我有一些正在运行的jQuery函数,如:
$(".selector").bind("change blur",function()
{
$(this).css({"background-size": "22px 22px"});
$(this).siblings('span').css({"display": "block"});
$(this).css({"border": 'solid 1px #E85131'});
$(this).css({"color":'#bbb'});
});
当我加载文档时,每个“selector”类都正在调用该函数。
有时我用
更新divfunction test()
{
document.getElementById("feed").innerHTML = "";
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("feed").innerHTML = xmlhttp.responseText;
}
}
xmlhttp.open("POST", "load_feed.php, false);
xmlhttp.send();
}
加载了一些带有“selector”类的新div,但它们不会在模糊或更改时调用jQuery代码。
已加载的那个仍然有效。
你们有什么想法吗?
答案 0 :(得分:3)
因为bind()的工作原理,您需要使用on()。它允许委托事件绑定,而bind()仅适用于调用时出现的事件。所以这就是你需要做的事情:
$(document).on("change blur", ".selector", function(){
...
}
答案 1 :(得分:-1)
$(".selector").bind("change blur",function()
{
$(this).css({"background-size": "22px 22px"});
$(this).siblings('span').css({"display": "block"});
$(this).css({"border": 'solid 1px #E85131'});
$(this).css({"color":'#bbb'});
});
需要成为
$(document).on(".selector", "change blur", function()
{
$(this).css({"background-size": "22px 22px"});
$(this).siblings('span').css({"display": "block"});
$(this).css({"border": 'solid 1px #E85131'});
$(this).css({"color":'#bbb'});
});