没有参数的函数,因为无论我们放入或不放入它都表现为默认值

时间:2013-07-19 09:17:38

标签: jquery

这是jquery

$( document ).ready(function() {

    $( "a" ).click(function( event ) {

        alert( "Hi!" );

        event.preventDefault();

    });

});
函数event中的

是我们可以用whatever替换它的参数,我们可以这样做whatever.preventDefault()但我想知道没有插入任何参数,如{{} 1}}我们只能这样做function()这有效吗?

5 个答案:

答案 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一样。

Check this SO Answer

答案 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);

DEMO