4

嗨 StackOverflow 社区。我有一个关于在 HTML 锚标记的 href 中添加 JavaScript 的替代方法的问题。我已经知道这是不好的做法,而不是这样做:

<div id="some_div"><a href="JavaScript:myfunction();">Text</a></div>

我可以这样做:文本

$('#some_div').on("click","a",function(e){
  myFunction();
});

我的问题是,如果您必须将变量传递给函数,这将如何工作?例如:

<div id="some_div"><a href="JavaScript:myfunction('param1','param2')">Text</a></div>

现在请记住,param1 和 param2 中的数据将是不同的字符串。你如何处理这个案子?事件监听器需要接收锚标签输入的不同数据。那么用户在使用时如何添加 param1 和 param2 数据:

<div id="some_div"><a href="#">Text</a></div>

先感谢您。

4

1 回答 1

7

有很多方法可以做到这一点。想到的一个是data-*在锚点上使用属性:

<a href="#" data-param1="param1" data-param2="param2">Text</a>

var $this = $(this);
myFunction($this.data("param1"), $this.data("param2"));
于 2013-10-07T19:36:41.433 回答