2017-10-02 1 views
0

버튼 클릭으로 트리거 keyDown 이벤트를 수행하려고합니다. 그러나 이것은 효과가 없습니다.자바 스크립트 이벤트가 발생하지 않습니다.

$("#button").click(function() { 
var e = jQuery.Event("keydown"); 
e.keyCode = 37; 
$(this).trigger(e); 
return false; 
}); 

하지만 이벤트가 발생하지 않습니다. 누구든지 제발 제안 할 수 있을까요?

+0

https://stackoverflow.com/a/8692335/4298881, 아마 시도 e.keyCode = e.which = 37 ; 덧글에 언급했다. – Surely

+0

[예, 이벤트가 시작됩니다.] (https://jsfiddle.net/ort0tjro/)이 영역은 [이전 질문으로 매우 잘 설명되었습니다] (/ search? q = % 5Bjs % 5D + simulate + keydown), 그 질문의 답에서 당신의 이슈에 대해 대답하지 않은 것은 무엇입니까? –

답변

2

그것이 작동하는 것처럼 보입니다.

테스트 기능 아래의 코드 조각을 시도해보십시오

$(document).ready(function() { 
 
    $("#button").click(function() { 
 
    var e = jQuery.Event("keydown"); 
 
    e.keyCode = 37; 
 
    $(this).trigger(e); 
 
    console.log(e); 
 
    return false; 
 
    }); 
 
}); 
 

 
// test trigger 
 
$(window).keydown(function(e) { 
 
    key = e.keyCode ? e.keyCode : e.which; 
 
    if (key === 37) { 
 
    alert(`Left arrow triggered, (keyCode ${key})`); 
 
    } 
 
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<button id="button">Trigger key 37 (left arrow)</button>

관련 문제