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 回答