jquery 1.4.1 change() on textarea 在 IE 8 中不起作用

发布于 2024-10-29 05:58:48 字数 892 浏览 1 评论 0原文

所以我的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 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

围归者 2024-11-05 05:58:48

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.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文