代表没有按预期工作

时间:2012-09-05 09:54:30

标签: javascript javascript-events delegates jquery

使用以下函数捕获两个动态生成的表单提交,但不阻止其提交。

$('body').delegate('.edit_faq, .new_faq', 'submit', function(e){
      e.preventDefault();
      //voodoo
    });

我使用live使用以下内容。这样可行,但实时折旧,最终结果是此代码最终以灵活的插件结束。

$('.edit_faq').add('.new_faq').live('submit', function(e){
  e.preventDefault();
  //magic
});

3 个答案:

答案 0 :(得分:1)

你所写的内容实际上正在发挥作用。

检查:

http://jsfiddle.net/peuqU/

按下运行,因为jsfiddle在测试提交之前有时需要刷新。

我只能用chrome 23进行测试。

答案 1 :(得分:0)

尝试 这是推荐的方法,并返回false:

$('body').on('submit', '.edit_faq, .new_faq', function(e){
      e.preventDefault();
     //Do your stuff here.

    });

至于为什么提交仍然发生,也许你在页面的某处有一个JS错误?

答案 2 :(得分:0)

固定 -

问题是需要将代码包装在文档onReady:

$(document).ready(function(){
  $('body').on('submit', '.edit_faq, .new_faq', function(e){
      e.preventDefault();
      //voodoo
  });
})

我发现,既然生活不需要准备就绪,那可能还是错了?