Passing eventobejct in jquery
Passing eventobejct in jquery
我想传递带有触发函数的事件对象,意味着当我手动触发任何事件时说:
$(".test").bind({ click : Testing });
$('.test').trigger("click");
function Testing(e)
{
}
当通过鼠标单击调用函数测试时,参数 e 包含事件对象,因此当我们手动触发它时,我想要同样的事情。当我们手动触发任何事件时,我们可以传递事件对象吗,这可能吗?
正如 gdoron 指出的 (+1),jQuery 将为你提供事件对象。但是如果你愿意,你可以显式地创建它,用jQuery无法为你填写的信息来填充它。您可以创建一个Event
对象并将其传递到 trigger
中。
下面是使用默认事件对象和创建自己的事件对象的示例: 实时复制 | 源
jQuery(function($) {
$(".test").click(function(e) {
display("Received click on target");
display("typeof e = " + typeof e);
if (e) {
display("e.type = " + e.type);
if (e.type === "click") {
display("Coords: (" + e.pageX + "," + e.pageY + ")");
}
}
});
//Create a new jQuery.Event object without the "new" operator.
var e = $.Event("click");
// Fill in more info
e.pageX = 42;
e.pageY = 27;
// Trigger an artificial click event
display("Issuing a click via <code>$('.test').trigger('click')</code>");
$('.test').trigger("click");
// Trigger an artificial click event
display("Issuing a click creating our own event object with more info on it.");
$('.test').trigger(e);
function display(msg) {
$("<p>").html(msg).appendTo(document.body);
}
});
你不需要做任何事情,当你触发一个事件时,Event
对象也已经存在了。
事件对象始终作为第一个参数传递给事件处理程序
...
...
trigger
文档
现场演示
相关文章:
- 重构 jQuery in JS 问题
- jquery in the middle of html
- Jquery in AngularJs
- jQuery :in-viewport selector accuracy
- Jquery in 循环执行一些记录计算
- Java 脚本或 jquery in rails 应用程序中
- jQuery In Custom Login Screen xhtml
- Using jQuery in Cloud9
- jQuery in KnockoutJS
- 使用PHP Curl、Jquery In Loop获取多个url数据
- Extending jQuery in Internet Explorer 11
- Jquery in phonegap
- jQuery in iBooks
- Jquery in FireFox?
- JQuery in Liferay
- jQuery in iPhone
- HTML and JQuery in Webstorm IDE
- jquery in html injection
- Ajax and Jquery in Symfony
- JScript or JQuery in Windows