防止Deault无法正常工作

时间:2015-11-06 10:11:26

标签: jquery javascript-events event-handling preventdefault

这是我的代码行

var $hotlinePanel = $('#hotlines-panel');
var $hotlineTile = $('#redirects-tile-6 .redirect-overlay');

$hotlineTile.on('click', togglePanel(event));

function togglePanel(event){
    event.preventDefault();
    $hotlinePanel.toggleClass('open');
};

这是控制台的错误:

  

未捕获的TypeError:无法读取未定义的属性'preventDefault'

我做错了什么?

1 个答案:

答案 0 :(得分:1)

只需做一点改动如下:

$hotlineTile.on('click', togglePanel);  // remove-(event), call function with name only - function declaration

// function defination

function togglePanel(e){
    e.preventDefaut();
    $hotlinePanel.toggleClass('open');
};


更新

注意: preventDefault()方法不会阻止通过 DOM 传播事件。使用stopPropagation()方法来处理此问题。