<分区>
Possible Duplicate:
Handle URL anchor change event in js
是否可以通过 anchor 标记运行 javascript 函数。
例如如果你去... www.site.com/index.html#function1 ... 那么 function1 会运行吗?
标签 javascript anchor
<分区>
Possible Duplicate:
Handle URL anchor change event in js
是否可以通过 anchor 标记运行 javascript 函数。
例如如果你去... www.site.com/index.html#function1 ... 那么 function1 会运行吗?
最佳答案
在页面上放置一个加载监听器,并在指向 anchor 的链接上放置一个点击监听器。触发时,检查 window.location.href,类似于:
<body onload="checkHash();">
<a href="#foo" onclick="checkHash()">go to foo</a>
<br>
<a href="#bar">go to bar</a>
<p>something in between</p>
<a name="foo">foo</a>
<br>
<a name="bar">bar</a>
<script type="text/javascript">
function checkHash() {
// Check URL using setTimeout as it may not change before
// listener is called
window.setTimeout(doHashCheck, 10)
}
var doHashCheck = (function(global) {
return function() {
var fnName = window.location.hash.replace(/^#/,'');
console.log(fnName);
// fnName should be a native function, not a host method
if (typeof global[fnName] == 'function') {
global[fnName]();
}
}
})(this);
function foo() {
alert('foo');
}
if (!window.console) window.console = {};
if (!console.log) console.log = window.alert;
</script>
</body>
关于javascript - 是否可以从 anchor 标记调用 Javascript?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7814725/