click
引数なしで関数を呼び出すことができます。これにより、人為的なクリックがトリガーされます。例えば:
$("selector for the element").click();
これにより、jQuery ハンドラーと (私が信じている) DOM0 ハンドラーも起動します。ここでわかるように、DOM2 スタイルの / 呼び出しを介して追加されたハンドラーは起動しません。ソースaddEventListener
attachEvent
jQuery(function($) {
$("#target").click(function() {
display("<code>click</code> received by jQuery handler");
});
document.getElementById("target").onclick = function() {
display("<code>click</code> received by DOM0 handler");
};
document.getElementById("target").addEventListener(
'click',
function() {
display("<code>click</code> received by DOM2 handler");
},
false
);
display("Triggering click");
$("#target").click();
function display(msg) {
$("<p>").html(msg).appendTo(document.body);
}
});
そして、DOM0 ハンドラーの属性メカニズムを使用するバージョン( source ) があります。onclick="..."
それもそのようにトリガーされます。
また、おそらくデフォルトのアクションを実行しないことに注意してください。たとえば、この例( source ) ではリンクを使用していますが、リンクはたどられません。
要素にアタッチされたハンドラーを制御している場合、これは通常、優れた設計上の選択ではありません。代わりに、理想的には、関数を実行したいアクションを作成し、要素がクリックされたときと、そのアクションを実行したいときの両方でその関数を呼び出します。ただし、他のコードによってアタッチされたハンドラーをトリガーしようとしている場合は、シミュレートされたクリックを試すことができます。