因此,我知道有4种主要方法可以通过链接执行javascript代码。对于我的要求,我需要在不将屏幕移动到任何地方的情况下这样做(链接到#而不返回false是不好的)。如果可能的话,已执行的javascript代码的SEO也很重要。那么什么是正确的方法呢?

方法1(需要确保myCode()始终返回false):

<a href="#" onclick="return myCode();">execute</a>

方法2(似乎最有意义?):
<a href="javascript:myCode();">execute</a>

方法3:
<a href="javascript:void(0);" onclick="myCode();">execute</a>

方法4(在语义上不如我想的那么愉快):
<span id="executeMyCodeLink" class="link">execute</a>
<script>
$('#executeMyCodeLink').click(myCode);
</script>

使用方法4,您当然也可以使用onclick。

最佳答案

您使页面不跳转,并使用带有preventDefault的href和方法4的“a”标签。

<a id="executeMyCodeLink" href="#">execute</a>
<script>
  $('#executeMyCodeLink').click(function(event) {
    event.preventDefault();
    myCode();
  });
</script>

包含href很重要,因为链接的样式不正确,并且html不会通过其他方式进行验证。

10-04 14:56