【问题标题】:Does .live() binding work for jQuery in IE7?.live() 绑定是否适用于 IE7 中的 jQuery?
【发布时间】:2010-10-14 15:30:49
【问题描述】:

我有一段 javascript,它应该锁定到通过 XHR 引入的表单上。它看起来像:

$(document).ready(function() {

   $('#myform').live('submit', function() {
      $(foo).appendTo('#myform');
      $(this).ajaxSubmit(function() {
        alert("HelloWorld");
    });
       return false;
   });

});

这恰好适用于 FF3,但不适用于 IE7。知道问题出在哪里吗?

【问题讨论】:

  • 你能描述一下发生了什么吗? “不起作用”不是很有帮助。它提交页面吗?它对任何东西都没有吗?

标签: javascript jquery web-applications


【解决方案1】:

Events/live 目前不支持提交事件。

可能的事件值:click、dblclick、mousedown、mouseup、mousemove、mouseover、mouseout、keydown、keypress、keyup

目前不支持:模糊、聚焦、mouseenter、mouseleave、change、submit

【讨论】:

    【解决方案2】:

    你是如何执行提交的?你可以试试这个吗?

    $(':submit').live('click', function(e) {
      $(foo).appendTo('#myform');
    
      $('#myform').ajaxSubmit(function() {
        alert('Hello World');
      });
    
      e.preventDefault();
      return false;
    });
    

    【讨论】:

    • 这似乎可以解决问题,但是表单永远不会发布到服务器。我想知道这是否与 ajaxSubmit 有关?
    • 您是否尝试过这两个版本,$('#myform') 和 $('#myform').get(0)?
    • .ajaxSubmit() 是一个 jQuery 函数。它不适用于 $('#myform').get(0)。
    • 这不会让您通过 Enter 键提交表单
    【解决方案3】:

    关于上面的 CMS,在 JQuery 1.4 中,live 应该与“提交”一起使用,但似乎仍然不适用于 IE7。我将尝试委托,看看是否有帮助。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-05-18
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2010-12-15
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多