我阅读了以下内容,但仍想讨论.... Meaning of evt = (evt) ? evt : window.event
// evt需要传递,因为它没有在函数中使用??? ---试着让我的思绪围绕着这个jQuery的东西。
A)
$('#' + _ids.btnPrintServiceCode).on('click', function (evt) {
alert('Hello World')
});
OR
B)
$('#' + _ids.btnPrintServiceCode).on('click', function () {
alert('Hello World')
});
答案 0 :(得分:3)
如果没有使用evt
,你就不需要传递它......它是可选的......但是它不会产生问题......
如果你需要听一下这个事件,你基本上会传递evt
...说你想要阻止一些元素的默认行为,所以你需要evt here
HTML
<a href="#"></a>
<强> jquery的强>
$('a').on('click', function (evt) {
evt.preventDefault(); // this will prevent the deafult behaviour of that element
alert('Hello World');
});
$('input').keyup(function(e){ //here we need to pass e as we are using e to get ther keyCode that was pressed
if(e.keyCode == 8 )
{
alert('test');
}
});
答案 1 :(得分:1)
这样想。让我们说我有这个功能:
function foo (bar) {
alert("worky");
}
foo("foobar"); // worky
由于函数内部我从未实际使用bar
,我可以通过从参数列表中删除bar
来简化函数。
function foo () {
alert("worky");
}
foo("foobar"); // worky
两者都会有相同的结果。您的事件绑定也是如此。由于你永远不会使用evt
,所以没有理由将它传递给函数,但是如果你做的话,它不会有任何损害。
如果前一个开发人员总是将evt
传递给事件处理程序回调,那么你应该继续这样做以保持代码的一致性,但这完全取决于你。