Altクリックを検出する方法があることは知っていますが、興味があります-要素をaltクリックすることは可能ですか?
クリック イベントが呼び出す関数を呼び出すこともできますが、仮説として、関数を動的に生成し、レンダリング時にページに配置するシステムを扱っているとします (またはその他のワイルドな説明)。
Altクリックを検出する方法があることは知っていますが、興味があります-要素をaltクリックすることは可能ですか?
クリック イベントが呼び出す関数を呼び出すこともできますが、仮説として、関数を動的に生成し、レンダリング時にページに配置するシステムを扱っているとします (またはその他のワイルドな説明)。
これは、以下を使用してバニラ JS で実行できますinitMouseEvent
。
event.initMouseEvent(type, canBubble, cancelable, view,
detail, screenX, screenY, clientX, clientY,
ctrlKey, altKey, shiftKey, metaKey,
button, relatedTarget);
ご覧のとおり、引数 10 から 13 は、プログラムによってトリガーされるマウス イベントに修飾キーを適用します。initMouseEvent
上にリンクされた MDN ページには、実際に使用する方法の小さな例があります。
function simulateClick() {
// create a new mouse event
var evt = document.createEvent("MouseEvents");
// initialize all the parameters of the event
evt.initMouseEvent("click", true, true, window,
0, 0, 0, 0, 0,
false, false, false, false, // ctrl, alt, shift, meta
0, null);
var cb = document.getElementById("checkbox");
// actually fire the event on the `cb` element
var canceled = !cb.dispatchEvent(evt);
// if the event was cancelled...
if(canceled) {
//...
}
}
古い IE バージョンはinitEvent
、修飾キー オプションを許可していないように見える のみをサポートすることに注意してください。
イベントは手動でトリガーできます。あなたの場合、keydown
イベントとイベントをトリガーすることができますclick
。
これは、jQuery でイベントをトリガーする方法です。
var e = jQuery.Event("keydown");
e.which = 9; // # Some key code value - in your case tab
$("input").trigger(e);
クリックをトリガーする方法は次のとおりです。
$("#target").click();
JsFiddle : http://jsfiddle.net/sagivo/Bdtpj/