2015-12-03 279 views
0

使用dot.js我正在添加一個按鈕到一個特定的網頁,點擊後,應該添加一些文本到文本字段,然後觸發另一個按鈕也被點擊。我通過添加一個單擊處理我的按鈕,它有這個代碼模擬這個:觸發按鈕點擊jQuery不工作

​​

然而,這並不工作,我不知道爲什麼。如果我不執行.click()執行.remove(),該按鈕將從頁面中刪除。如果我使用控制檯執行相同的代碼,則按鈕不會被點擊。這告訴我我確實有正確的元素,但是特別是click()事件有問題。

有人能解釋爲什麼這不適用於Safari或Chrome嗎?我已經嘗試了很多不同的東西,但我對jQuery很陌生,所以我可能會錯過某些工作的細節。

+0

哪裏'click'事件? – Arg0n

+0

@ Arg0n不確定你指的是哪個'click'事件? –

+0

'button'的'click'事件。還有你如何將事件綁定到按鈕。 – Arg0n

回答

1

我們在聊天中走到了最前面。可能導致問題的原因是另一個事件處理程序附加到(可能)正文,解開了點擊。

因此,解決辦法是從傳播停止event

event.stopPropagation(); 
+0

是的,把這作爲事件處理程序的第一行做了伎倆 –

0

雖然分配Click事件處理程序的按鈕,你應該使用jquery on 這將確保無論何時用相同的選擇加入(如當被分配事件)的新按鈕,處理事件將被分配給該按鈕

一些例子here

+0

我讀到了,但我的問題不是沒有調用事件處理程序。如果我使用'remove()'而不是'click()',那麼該按鈕被刪除,這告訴我事件處理程序按預期調用。 –

+0

@ScottBerrevoets刪除按鈕只刪除該事件的dom元素不需要綁定。但是對於一個需要工作的事件,通常這個元素需要首先出現。在你的情況下,你正在添加一個按鈕,所以你需要使用jQuery。 – gurvinder372

0

的問題是點擊()函數是jQuery和你試圖觸發從DOM對象的點擊功能。

嘗試

$(button).click(); 

這裏有一個普拉克。 http://plnkr.co/edit/2pcgVt

+0

謝謝,但不幸的是,這並不工作要麼 –

0

您可以使用下面的語句。 ('。'')'[0] .trigger('click');

+0

不,不工作 –