2010-09-27 25 views
1

我看到了一些舊代碼有:JavaScript本jQuery中

<input type="submit" name="submit" onsubmit="somefunction(this)" /> 

我jQuery'ing劇本,我如何才能在jQuery中的純JavaScript(這)對象?

$("input[name=submit]").click(function() { 
    somefunction(// ?? is it $(this)); 
}); 

謝謝!

回答

4

你可以使用this,它指的是點擊的對象,這是真實的任何jQuery的事件處理程序:

$("input[name=submit]").submit(function() { 
    somefunction(this); 
}); 

或者,更好的辦法是使用this的功能,那麼它只是:

$("input[name=submit]").submit(somefunction); 

當它不通過,雖然按鈕提交這不會覆蓋,更好地在<form>水平或通過.live()這樣做,如果它是動態。請注意,通過這樣做,它將更改this以參考<form>而不是<input>,具體取決於您的功能,您可能需要對其進行調整。

1

需要將submit()事件附加到窗體上,而不是按鈕。

+0

對,固定,謝謝。 – ash 2010-09-27 21:56:57

3

它還是this

this$(this)之間的區別在於this是DOM元素對象本身,而$(this)是封裝在一個jQuery對象的DOM元素。