2016-08-19 176 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元素是有或没有。