2016-08-19 174 views
0

我需要幫助,因爲我不知道如果你可以幫忙,我對這個腳本做了什麼錯誤。事件點擊無法正常工作

https://www.walmart.com/ip/51629774 - 我想按一下朝下方

的按鈕,問一個問題按鈕 -

<button type="button" class="js-btn-ask-question js-ask-btn-m btn-ask-question btn pull-right" id="WMItemAskAQuestBtn"> Ask a question </button> 

腳本

$(document).keydown(function (e) { 
    switch (e.which) { 
    case 13: // Enter 
     $('#WMItemAskAQuestBtn')[0].click(); 
     break; 
    } 
}); 
+1

'$('#WMItemAskAQuestBtn')。click();'? – guradio

回答

0

的 '#' id選擇只是回報1元素,而不是數組,因爲每個元素都應該有一個唯一的ID。下面是修改後的代碼:

$(document).keydown(function (e) { 
 
    switch (e.which) { 
 
    case 13: // Enter 
 
     $('#WMItemAskAQuestBtn').click(); 
 
     break; 
 
    } 
 
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>

+0

是的,我試過,但它仍然無法正常工作,所以這就是爲什麼我想如果我把[0]。當我按下輸入時,它不起作用,但當頁面上啓用腳本時,如果我嘗試手動點擊按鈕,它什麼也不做。如果它禁用它打開文本框? –

+0

也許嘗試用console.log($('#WMItemAskAQuestBtn'))調試和/或試圖複製這首先與香草JavaScript? – Darrennchan8

+0

謝謝我會做兩個並報告結果。 –

0

的問題是:

$('#WMItemAskAQuestBtn')[0].click(); 

當您使用#即ID選擇,它將只返回一個HTML對象,也只會選擇一個html對象。所以不需要在其中使用[0]。只需使用:

$('#WMItemAskAQuestBtn').click(); 

它會單擊文檔中匹配的Id按鈕。

PS:對付這樣的事情最好的辦法是把一個警報,如:

alert($('#WMItemAskAQuestBtn').html()); or alert($('#WMItemAskAQuestBtn').val());| 

,以檢查是否有匹配的HTML元素是有或沒有。