使用.click()而不是内联onclick

时间:2013-11-04 20:08:52

标签: jquery events

我一直采用内联onclick方法:

<a href="#" id="do-something" onclick="doSomething(<?= $row['id'] ?>); return false;">

但我注意到这并不是大多数网站所做的事情。他们倾向于这样做:

<a href="#" id="do-something">

$("#do-something").click(function(e) {
    e.preventDefault();
    doSomething();
    // --------^
})

唯一的问题是,如何获取我在示例一中提供的参数,以便在示例二中使用它?什么是正确的过程?也许添加一些隐藏的div?

2 个答案:

答案 0 :(得分:5)

将该值分配给自定义数据属性,例如data-row="<? php ... ?>"。现在使用:$(this).data("row");

访问它

答案 1 :(得分:0)

一种方法可能是使用数据属性,如下所示:

<a href="#" id="do-something" data-row="<?= $row['id'] ?>">

然后这个功能:

$("#do-something").click(function(e) {
    var row = $(this).data('row');
    e.preventDefault();
    doSomething(row);
});