2016-08-19 2 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]을 넣었을 지 모른다고 생각한 것이다. Enter 키를 누르면 작동하지 않지만 버튼을 수동으로 클릭하면 스크립트가 페이지에서 활성화 될 때 아무것도 수행하지 않습니다. 비활성화 된 경우 텍스트 상자가 열립니다? –

+0

아마도 console.log ($ ('# WMItemAskAQuestBtn'))를 사용하여 디버깅을 시도하거나 바닐라 자바 ​​스크립트로 먼저이 스크립트를 복제하려고 시도할까요? – Darrennchan8

+0

감사합니다. 둘 다 수행하고 결과를보고합니다. –

0

문제는 다음과 같습니다 :

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

당신이 # 즉, 아이디 선택기를 사용하고, 그것은 단지 하나의 HTML 개체를 반환 또는 만 선택합니다 다음은 수정 된 코드는 하나의 HTML 객체. 따라서 [0]을 사용할 필요가 없습니다. 그냥 다음을 사용하십시오 :

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

문서에서 일치하는 ID 버튼을 클릭합니다.

PS : 일치하는 HTML 요소가인지 아닌지 확인하기 위해

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

: 같은 것은 대처하는 가장 좋은 방법은 같은 경고를 배치됩니다.

관련 문제