1
<a href="javascript:Function()"> Content</a>

このように、関数はどのように機能しますか?それをインターセプトできますか?マウスを使用しない場合、どのようにトリガーできますか?

4

2 に答える 2

6

リンクが「トリガー」されたとき、つまりクリックしたとき、またはリンクにタブで移動してを押したときにトリガーされますENTERFunctionカスタム関数に置き換えることで、それを「インターセプト」できます。

var oldFunc = window.YourFunction;
window.YourFunction = function() {
    // do something
    oldFunc(); // call the old function if necessary
    // do more if necessary
}

ちなみに、これはまったく行わないでください。onclick="..."JavaScriptを介してイベントを登録するか、さらに良い方法です。どちらの場合も、リンクが実際にマウスクリックされたのではなく、を押してトリガーされたときにトリガーされますENTER

onclickを使用するには、リンクは次のようになります。

<a href="#" onclick="YourFunction(); return false;">...</a>

最新のブラウザでイベントを登録するには(v9より前のIEは、重要な場合に備えて最新のブラウザではありません):

<a href="#" id="whatever">...</a>
<script>
document.getElementById('whatever').addEventListener('click', YourFunction, false);
</script>

短くしてクロスブラウザ互換性を保つために、 jQueryを使用することを強くお勧めします。

<a href="#" id="whatever">...</a>
<script>
$('#whatever').on('click', YourFunction);
</script>
于 2012-05-17T08:44:20.070 に答える
0

href を使用する場合は、これを使用できます

<a href="javascript:void(0);" onclick="smfunction()">Content</a>​

<script lang="javascript" type="text/javascript">
   function  smfunction(){
        alert("Running");
    }
</script>
于 2012-05-17T08:54:24.050 に答える