2011-02-11 248 views
0

我一直在無休止地尋找一種工作方式來自動化鼠標點擊使用javascript(我正在做一個用戶腳本)的特定元素。該結構形式大致如下:JavaScript autoclick子節點元素

<div id="elementContainer"> 
    <div class="item1" style="width: 50px; height: 50px;">AutoClick Here!</div> 
</div> 

物品1是我想要自動化的點擊的東西。我嘗試了很多方法,例如獲取元素並在其上創建/初始化/分派'click'事件,在其上調用.click()等,但老實說,我是JavaScript新手,並不知道我在做什麼!

我可以愉快地獲取元素並對其進行更改(如更改innerHTML),但希望能夠模擬/自動點擊它。我將非常感謝任何關於如何進行的建議。

非常感謝提前!

+0

.click()僅適用於某些標籤,主要是輸入。如果你需要解決簡單的任務,你可以使用AutoIT而不是javascript。否則,您需要觸發點擊事件。 – kirilloid 2011-02-11 15:55:16

+1

點擊可能正在工作,但div元素上沒有默認點擊事件。你有沒有嘗試綁定自己的點擊事件的分區? – kmfk 2011-02-11 15:56:44

回答

0

在元素上調用.click()應該工作得很好。

var container = document.getElementById('elementContainer'), 
    innerDiv = container.getElementsByClassName('item1'); 

innerDiv.click(); 

這就是說:

的點擊方法的目的是用式按鈕,複選框,單選的INPUT元件中使用的,復位或提交。 Gecko不對其他可能會響應鼠標點擊的元素(如鏈接(A元素))執行click方法,也不會觸發其他元素的click事件。

非Gecko DOM的行爲可能不同。

當點擊與支持它的元素(例如上面列出的其中一個INPUT類型)一起使用時,它還會觸發元素的單擊事件,該事件將冒泡到文檔樹(或事件鏈)上方的元素並觸發他們的點擊事件。然而,單擊事件的冒泡不會導致A元素啓動導航,就像收到了真正的鼠標點擊一樣。

你是否綁定了任何點擊事件處理程序到那個<div>