href=“javascript:Function() 它是如何工作的
href="javascript:Function() how does it work
<a href="javascript:Function()"> Content</a>
像这样,函数如何工作?我可以拦截它,如果我不使用鼠标如何触发它?
当链接被"触发"时,即单击或按 Tab 键并按 Enter 时,它将被触发。您可以通过将Function
替换为自定义函数来"拦截"它:
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>
如果你想使用 href,你可以使用它
<a href="javascript:void(0);" onclick="smfunction()">Content</a>
<script lang="javascript" type="text/javascript">
function smfunction(){
alert("Running");
}
</script>
相关文章:
- Javascript:selenium Web驱动程序isDisplayed()不工作
- jQuery UI自动完成突然停止工作
- AngularJS UI路由器不能像ng路由器那样工作
- HTML5音频加载和播放获胜'我不能在iPad上工作
- JavaScript打印功能使日历停止工作
- Javascript.getHours()工作不正常
- 为什么这在IE中的工作方式与在Firefox中不同
- 视频HTML没有'无法在Internet Explorer 11上工作
- 扩展移相器按钮类不工作
- Firebase迁移-简单的Firebase.set没有'不再工作了——旧的还是新的
- 谷歌地图不是以HTML显示,而是在JS Fiddle上工作
- 正在尝试使用if和else添加类,但无法正常工作
- Jquery FadeIn FadeOut 只工作一次
- Foreach无法在Typescript中工作
- 另一个ajax调用中的Jquery ajax调用在for循环中没有按预期工作
- 为什么不是't窗口.恢复正常工作吗?(javascript/jquery)
- JS可以在Chrome中工作,但不能在Firefox中工作
- ajaxToolkit PopupControlExtender不工作.过时的
- HTML标记在脚本标记中工作
- 在JavaScript中的类中,push和concat的工作方式有何不同