2

Altクリックを検出する方法があることは知っていますが、興味があります-要素をaltクリックすることは可能ですか?

クリック イベントが呼び出す関数を呼び出すこともできますが、仮説として、関数を動的に生成し、レンダリング時にページに配置するシステムを扱っているとします (またはその他のワイルドな説明)。

4

2 に答える 2

2

これは、以下を使用してバニラ 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、修飾キー オプションを許可していないように見える のみをサポートすることに注意してください。

于 2012-06-19T07:24:54.670 に答える
1

イベントは手動でトリガーできます。あなたの場合、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/

于 2012-06-19T06:47:02.987 に答える