javascript - 是否可以从 anchor 标记调用 Javascript?

标签 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/

相关文章:

用于获取窗口大小的 Javascript,但失败时运行标准值

Javascript 与 php 和 mysql 空值冲突(语法)

日历的 HTML anchor ?

html - 从网页链接到 PDF 文档中的特定部分( anchor )

javascript - 在 html 中添加 anchor 标记和潜在的 javascript 干扰问题

php - 链接不引用 anchor

javascript - 扩展 jQuery 单击处理程序(修补 $.fn.click 函数?)以检查条件

javascript - 未发送 JavaScript 中的 POST 数据

javascript - 在 Fabric.js 中分层 Canvas 对象

javascript - 重定向到 javascript 文件中的新选项卡