jquery 1.4.1 change() on textarea 在 IE 8 中不起作用
所以我的jquery(1.4.1)代码是这样的:
$(document).ready(function () {
$("#Pattern").focus();
$("textarea").change(function () { Match(); });
...
var Match = function () {
...
};
})
Pattern是一个textarea。 所有地方都工作正常 - 除了 IE 8。而且 IE 8 的行为很奇怪 - 它有时第一次不起作用,后来似乎可以工作。我所说的不起作用是指当我在文本区域中键入内容并失去焦点时 - 不会调用匹配函数。 我环顾四周,但我所有的努力都是徒劳的。
编辑:解决方案
所以,没有任何效果,我必须使用 .focusout 事件手动完成
var previousPattern = '';
$(document).ready(function () {
$("#Pattern").focus();
$("#Pattern").focusout(
function () {
if ($("#Pattern").val() != previousPattern) {
previousPattern = $("#Pattern").val();
Match();
}
});
...
}
,现在它按预期工作。
So my jquery (1.4.1) code is something like this:
$(document).ready(function () {
$("#Pattern").focus();
$("textarea").change(function () { Match(); });
...
var Match = function () {
...
};
})
Pattern is a textarea.
And all works fine everywhere - except IE 8. And behavior of IE 8 is weird - it doesn't work sometimes for the first time and seems to work later. By not working I mean when I type something in textarea and lose focus - Match function is not called.
I looked around but all I tried was in vain.
EDIT: solution
So, nothing worked and I had to do it by hand using .focusout event
var previousPattern = '';
$(document).ready(function () {
$("#Pattern").focus();
$("#Pattern").focusout(
function () {
if ($("#Pattern").val() != previousPattern) {
previousPattern = $("#Pattern").val();
Match();
}
});
...
}
And now it works as expected.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
Twitter 似乎使用“输入”和“更改” - 它不是标准。
尝试通过 .bind() 绑定元素并检查 如果确实绑定了。
Twitter seems to use "input" and "change" - it's non-standard.
Try binding the element via .bind() and check, if it is really bound.