事件单击无法正常工作

时间:2016-08-19 05:43:04

标签: jquery

我需要帮助,因为如果你能提供帮助,我不知道我对这个剧本做错了什么。

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;
  }
});

2 个答案:

答案 0 :(得分:0)

&#39;#&#39; id选择器只返回1个元素,而不是数组,因为每个元素都应该有唯一的id。这是修改后的代码:

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

答案 1 :(得分:0)

问题是:

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

当您使用#Id Id选择器时,它将只返回一个html对象,或者它只会选择一个html对象。所以不需要在其中使用[0]。只需使用:

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

它将单击文档中匹配的Id按钮。

PS:处理此类事情的最佳方式是发出警告:

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

检查是否存在任何匹配的html元素。