2017-10-02 9 views
0

ボタンのクリックでトリガーkeyDownイベントを実行しようとしています。しかし、これは動作していません。Javascriptイベントがトリガーされていません

$("#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>

関連する問題