2013-03-25 110 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