2013-03-25 103 views
0

不工作我已经同多个提交按钮和表单提交我检查已经通过event.currentTarget.activeElement的Chrome浏览器

$('.edit_form').submit(function() { 
var btn = event.currentTarget.activeElement 

其点击了哪个按钮,在Chrome浏览器无法正常工作。如何解决这个问题,我不想使用

$('.btn').live("click",function(){ 
    $('.edit_form').submit(); 
}) 
+1

use .on()... .live()已弃用。 。对()的,我不使用活我使用提交 – theshadowmonkey 2013-03-25 13:34:35

+0

更好delagation我不想使用部分.. – RailsEnthusiast 2013-03-25 13:39:22

+0

我是在评论有关事件 – theshadowmonkey 2013-03-25 13:41:00

回答

1

只有IE设置事件作为一个全局属性(很不完全,请参阅评论)。你需要的是使用传递给你的回调的第一个参数的事件。

使用

$('.edit_form').submit(function(event) { // <== pass the event 
    var btn = event.currentTarget.activeElement 

但是,当你想要的按钮似乎很奇怪的形式结合。你可能不应该那样做。考虑到表单可能直接接收到submit事件,不需要任何按钮。

+4

*“只有IE设置事件作为一个全球性的属性。” *其实,这不是事实。 Chrome也是如此,它只能在骨骼网站上测试IE。但更重要的是,全局'事件'不会是jQuery事件,它将是最原始的事件。所以你的回答是对的,只是这个陈述不是(完全)。 :-) – 2013-03-25 13:35:40

+0

他为什么不应该那样做?在这种情况下,这看起来像是一个完全有效的事情 - 他正在陷入“提交”事件,而不是点击按钮。 – Alnitak 2013-03-25 13:37:16

+0

我上面提到的代码'$(document).bind('pageinit',function(event){' – RailsEnthusiast 2013-03-25 13:37:59

相关问题