我有以下功能
function someName(e){
e.preventDefault();
$('#someCont').dialog({
width:200,
height:auto,
modal:true
})
}
我正在使用它
HTML
<a href="#" onclick="someName()">Link Name </a>
但在浏览器中会抛出错误“e未定义”。 任何人都可以建议我做错了吗?锚标记可能超过1
答案 0 :(得分:4)
通过jquery绑定点击功能,而不是将其置于内联
(function($){
$(function() {
function someName(e) {
e.preventDefault();
}
$('a').click(function(e) {
someName(e);
});
});
})(jQuery);
或在函数中添加参数:
onClick="someName(e)"
答案 1 :(得分:2)
您需要传递事件对象
<a href="#" onclick="someName(event)">Link Name </a>
替代方法可能是您不使用内联事件并指定一些id或类来锚定并使用它来绑定事件。
HTML 的
<a href="#" id="a1">Link Name </a>
的Javascript
$('#a1').click(function(e){
e.preventDefault();
$('#someCont').dialog({
width:200,
height:auto,
modal:true
})
});
答案 2 :(得分:0)
在function someName(e)
中,e是一个事件对象。因此,无论何时调用此函数,都应该向window事件对象传递一个如下所示的参数:
<a href="#" onclick="someName(event)">Link Name </a> // Here I have passed this object
否则,您将收到相同的错误'e not defined'