这是jquery
$( document ).ready(function() {
$( "a" ).click(function( event ) {
alert( "Hi!" );
event.preventDefault();
});
});
函数event
中的是我们可以用whatever
替换它的参数,我们可以这样做whatever.preventDefault()
但我想知道没有插入任何参数,如{{} 1}}我们只能这样做function()
这有效吗?
答案 0 :(得分:1)
不,如果您没有为函数指定参数,则代码无法工作,因为某个方法无法应用于任何内容。
答案 1 :(得分:1)
不,preventDefault
()函数与事件相关联。
所以你应该
$(document).ready(function () {
$("a").click(function (event) {
event.preventDefault();
});
});
或
您可以使用return false
$(document).ready(function () {
$("a").click(function () {
return false;
});
});
来自jQuery事件处理程序的 return false
实际上与在传递的 jQuery.Event 对象上调用e.preventDefault
一样。
答案 2 :(得分:0)
是的,你可以这样做。见下面的代码:
$( "a" ).click(function() {
alert( "Hi!" );
}).preventDefault(); //add .preventDefault() here
答案 3 :(得分:0)
您的事件参数实际上是jQuery event data object。 它代表事件的状态及其控制点。
如果你没有这个,你无法控制你想要的东西。
答案 4 :(得分:0)
您可以捕获事件,对委派事件有用:
var eventToPrevent = "click",
selectorToPrevent = "a";
document.addEventListener(eventToPrevent, function (e) {
if ($(e.target).is(selectorToPrevent)) e.preventDefault();
}, true);