Javascript 如何使用jquery创建自定义事件
我想创建一个事件,当div的内容更改时,该事件称为Javascript 如何使用jquery创建自定义事件,javascript,jquery,events,Javascript,Jquery,Events,我想创建一个事件,当div的内容更改时,该事件称为 change = function(oldval,newval){ if (oldval != newval){ return true; } return false; } 我希望每次div的内容发生变化时都调用这个函数。你知道如何实现吗 我希望每次元素内容更改时都调用此函数 如果元素的内容等于表单输入的值: 单行代码: $(':input', $('#divId')).change(function
change = function(oldval,newval){
if (oldval != newval){
return true;
}
return false;
}
我希望每次div的内容发生变化时都调用这个函数。你知道如何实现吗
我希望每次元素内容更改时都调用此函数
如果元素的内容等于表单输入的值:
单行代码:
$(':input', $('#divId')).change(function(){alert('changed');});
或者动态添加元素的委托选项(仍然是一行…(;):
文档:
$('#yourDiv').bind('DOMNodeInserted DOMNodeRemoved', function(event, oldvalue, newvalue) {
if (oldval != newval){
return true;
}
return false;
});
对于IE支持,您可以使用
$(function() {
var $div = $("#yourDiv");
var content = $div.html();
var look = setInterval(function() {
var newcontent = $div.html();
if (html != newcontent ) {
change(content, newcontent);
content = newcontent;
}
},100);
function change(oldval, newval() {
if (oldval != newval){
return true;
}
return false;
}
});
可能重复。其中的一些答案链接到可能解决您问题的jQuery插件。但是,处理DOM变异事件通常比看起来更复杂。为什么会进行投票?当
的内容更改时,它不会引发事件,但当它内的表单控件的值更改时,这不是s完全一样。最后一句话甚至不完整…@FrédéricHamidi。我肯定这就是质询所有者的意思。“元素的内容改变”事实上,div的内容改变了
,而不是div内表单控件的值改变了。我担心提问者正在寻找前者(突变事件),不是后者…@FrédéricHamidi。我们将等待问题所有者的回答……无论如何,这是一个好答案,这个问题还不够清楚。@FrédéricHamidi。“元素的内容更改”而不是“div的内容更改”!oldvalue,newvalue
值从何而来?!
$(function() {
var $div = $("#yourDiv");
var content = $div.html();
var look = setInterval(function() {
var newcontent = $div.html();
if (html != newcontent ) {
change(content, newcontent);
content = newcontent;
}
},100);
function change(oldval, newval() {
if (oldval != newval){
return true;
}
return false;
}
});