【问题标题】:What JS scope can an anchor tag's href access?锚标签href可以访问什么范围?
【发布时间】:2018-01-19 15:15:43
【问题描述】:

我有一个<a> 标签并计划用它调用一个 JavaScript 函数:

<a href="javascript:doSomething();">link</a>

该 JS 函数必须声明在什么范围内才能访问?必须是全球性的吗?

【问题讨论】:

  • 跳过使用内联javascript的计划
  • 全球,是的。最好不要那样做。
  • 是的,必须是全球性的。理想情况下,您不会使用内联 JavaScript。
  • 改为在代码中分配事件处理程序,这样您就可以定义范围,而不必让您的代码随处可用。查看document.querySelectordocument.querySelectorAlleventTarget.addEventListener - 这应该足以让您继续前进。
  • 另外,&lt;a&gt; 标签应该真的用于链接;使用&lt;button type=button&gt; 标记做其他事情的可点击小部件。

标签: javascript html scope anchor


【解决方案1】:

正如 cmets 中提到的,这通常是现在应该如何处理按钮,但是为了回答您的问题,上面的代码将在 doSomething 函数的全局范围内查找。请参阅下面的示例。

function TestFunction() {
  console.log("This function is defined in global scope!"); 
}
&lt;a href="javascript:TestFunction()"&gt;Click me!&lt;/a&gt;

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-07-07
    • 2016-05-19
    相关资源
    最近更新 更多