jQuery - 如何使用e.preventDefault(); 在JavaScript函数中

mar*_*zzz 4 javascript jquery

我有这个JavaScript函数:

function putVote(trackid, vote) {
}
Run Code Online (Sandbox Code Playgroud)

我把这个功能称为:

<a href="#" onClick="putVote('data1', 'data2')">Link</a>
Run Code Online (Sandbox Code Playgroud)

我想用e.preventDefault();putVote(),但我想我错了,在某些方面.我该怎么做?

干杯

Ski*_*ick 5

最简单的方法是return false 处理程序中的函数(return false只有在putVote处理程序有的情况下才能工作return putVote('data1', 'data2)).

但正如Pointy所说,一种更好的技术是从JavaScript附加事件处理程序,最容易通过使用jQuery或Prototype等库/框架来实现.


Chr*_*tal 5

最简单的方法:

<a href="#" onClick="putVote('data1', 'data2'); return false;">Link</a>
Run Code Online (Sandbox Code Playgroud)


kim*_*3er 5

如果你正在使用jQuery.

JS:

$("#link").click(function(evt) {
    evt.preventDefault();
    putVote('data1', 'data2');
});
Run Code Online (Sandbox Code Playgroud)

HTML:

<a href="#" id="link">Link</a>
Run Code Online (Sandbox Code Playgroud)

如果您使用的是最新版本的jQuery和HTML5 doctype.

JS:

$("#link").click(function(evt) {
    evt.preventDefault();
    var $self = $(this);
    putVote($self.data("one"), $self.data("two"));
});
Run Code Online (Sandbox Code Playgroud)

HTML:

<a href="#" id="link" data-one="data1" data-two="data2">Link</a>
Run Code Online (Sandbox Code Playgroud)