我有一个<a>应该运行代码而不是重定向的元素.
这里有两个代码示例,我认为应该具有相同的效果,但它不会:
这工作:
<a href="#" onclick="alert('Works'); return false;" />
Run Code Online (Sandbox Code Playgroud)
这不会:
<a href="#" onclick="return function() {alert('don't Work'); return false;};" />
Run Code Online (Sandbox Code Playgroud)
他们俩不应该这样做吗?是不是第二次尝试的表达式被评估,调用匿名函数并返回false?
谢谢!
第二个示例定义一个函数并返回它.它从不称呼它.
onclick="return function() {alert('don\'t Work'); return false;}();"
Run Code Online (Sandbox Code Playgroud)
如果你调用它(并修复引用错误),那么你会得到相同的效果.