Javascript 理解jQuery中的处理程序
在我的代码中,我有:Javascript 理解jQuery中的处理程序,javascript,jquery,Javascript,Jquery,在我的代码中,我有: <script type="text/javascript"> $(document).ready(function (e) { $('#EventCreate').click(function (e) { location.href = '@Url.Action("Create", "AEvents")'; }); }); </script> <button id="E
<script type="text/javascript">
$(document).ready(function (e) {
$('#EventCreate').click(function (e) {
location.href = '@Url.Action("Create", "AEvents")';
});
});
</script>
<button id="EventCreate" type="button" class="btn btn-info" style="float:right;">Create New Event</button>
任何帮助/解释都将不胜感激。e
将传递给匿名回调函数
如果要在参数列表中显式地声明它,不是强制性的,那么代码的工作方式将完全相同(假设您不尝试引用它)
如果需要,您甚至可以通过数组(arguments[0]
)访问它,但在这种情况下,这将是草率的
主要的一点是,无论是否将其包含在函数参数中,它都将被传递到函数中。
e
/事件在该上下文中,evt实际上是一个,而不是一个事件处理程序。它是传递给事件处理程序/侦听器回调函数的参数
这表示事件发生时的状态,并为实际事件提供有价值的上下文。只有当您需要事件本身的上下文数据时,才需要inlcude。否则可以忽略它,就像JavaScript中大多数不需要的参数一样
例如,以一个简单的输入处理程序为例:
文档
.getElementById('示例')
.addEventListener('change',onChange,false);
函数onChange(e){
console.log(e.target.value);//输入值
}
示例输入
e
在上面的例子中,实际上是事件对象,它为您提供了一些触发事件的基本信息,例如任何按键或鼠标位置,事件的目标是什么。我一直知道e
是一个变量,您可以通过它来获得事件触发时的具体细节,但它不需要传递它。仅当您计划对细节执行某些操作时,e
不是“事件处理程序”。它是事件对象。事件处理程序是函数本身。事件对象是jQuery提供的围绕浏览器创建的本机事件对象的包装。请阅读文档:并查看“e”是什么。@尖头啊好的,我从参考中的描述中获得了事件处理程序:描述:将事件处理程序绑定到“click”JavaScript事件,或在元素上触发该事件。感谢您的澄清否,e
不是“事件处理程序”。事件处理程序就是函数。函数的参数(e
在本例中)是事件对象。
<script type="text/javascript">
$(document).ready(function (/* no event handler */) {
$('#EventCreate').click(function (/* no event handler */) {
location.href = '@Url.Action("Create", "AEvents")';
});
});
</script>