您好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>
提前谢谢。
答案 0 :(得分:7)
有很多方法可以做到。我想到的一个问题是在锚点上使用data-*
属性:
<a href="#" data-param1="param1" data-param2="param2">Text</a>
var $this = $(this);
myFunction($this.data("param1"), $this.data("param2"));