<body>
<input id="test" type="text" />
</body>
<script>
$("#test").bind("propertychange",function(){
alert($("#test").val());
});
</script>
ie8下 比如输入“百度”
弹出百度 和 百度百度 2次
为什么会弹出2次?
<input id="test" type="text" />
</body>
<script>
$("#test").bind("propertychange",function(){
alert($("#test").val());
});
</script>
ie8下 比如输入“百度”
弹出百度 和 百度百度 2次
为什么会弹出2次?
建议别用这个事件, 这是ie专有的事件,其他浏览器都不工作
下面是个jquery 扩展 TextChanged 支持所有的浏览器
http://rayaspnet.blogspot.ca/2011/01/how-to-implement-textchanged-event.html
alert($("#test").val());
});
建议别用这个事件, 这是ie专有的事件,其他浏览器都不工作
下面是个jquery 扩展 TextChanged 支持所有的浏览器
http://rayaspnet.blogspot.ca/2011/01/how-to-implement-textchanged-event.html
哥们 你发的这个网页打不开啊?
$("#test").unbind("propertychange").bind("propertychange",function(){
alert($("#test").val());
}); 先解绑事件试试
哪你想弹几次,属性只要一变化,它就 alert
$("#test").bind("keyup",function(){
alert($("#test").val());
});
alert($("#test").val());
});
建议别用这个事件, 这是ie专有的事件,其他浏览器都不工作
下面是个jquery 扩展 TextChanged 支持所有的浏览器
http://rayaspnet.blogspot.ca/2011/01/how-to-implement-textchanged-event.html
哥们 你发的这个网页打不开啊?
是吗?
看代码plugin定义:(function (a) {
a.event.special.textchange = {
setup: function () {
a(this).data("lastValue", this.contentEditable === "true" ? a(this).html() : a(this).val());
a(this).bind("keyup.textchange", a.event.special.textchange.handler);
a(this).bind("cut.textchange paste.textchange input.textchange", a.event.special.textchange.delayedHandler)
},
teardown: function () {
a(this).unbind(".textchange")
},
handler: function () {
a.event.special.textchange.triggerIfChanged(a(this))
},
delayedHandler: function () {
var b = a(this);
setTimeout(function () {
a.event.special.textchange.triggerIfChanged(b)
},
25)
},
triggerIfChanged: function (b) {
var c = b[0].contentEditable === "true" ? b.html() : b.val();
if (c !== b.data("lastValue")) {
b.trigger("textchange", b.data("lastValue"));
b.data("lastValue", c)
}
}
};
a.event.special.hastext = {
setup: function () {
a(this).bind("textchange", a.event.special.hastext.handler)
},
teardown: function () {
a(this).unbind("textchange", a.event.special.hastext.handler)
},
handler: function (b, c) {
c === "" && c !== a(this).val() && a(this).trigger("hastext")
}
};
a.event.special.notext = {
setup: function () {
a(this).bind("textchange",
a.event.special.notext.handler)
},
teardown: function () {
a(this).unbind("textchange", a.event.special.notext.handler)
},
handler: function (b, c) {
a(this).val() === "" && a(this).val() !== c && a(this).trigger("notext")
}
}
})(jQuery);
用法$("#textboxid").bind('textchange', function (event, previousText) {
alert(previousText);
var textboxContent = $("#textboxid").val();
if (textboxContent == "" || textboxContent == "default value") {
$("#buttonid").addClass('disabled').attr('disabled', true);
} else {
$("#buttonid").addClass('disabled').attr('disabled', false);
}
});