Javascript 是否可以动态修改事件对象?jQuery触发器()/bind()
我想知道是否可以向传递给bind()事件处理程序函数的事件对象添加属性。我有一段代码,这段代码绑定到“mousedown”。我想明确地触发这个事件。问题是bind()处理程序需要鼠标触发事件时提供的一些事件属性;即“pageX”和“pageY” 我知道我可以将附加参数作为数组传递到Trigger()中,但我不希望更改bind()代码。这可能是不可能的 我想触发下面的处理程序并“伪造”pageX。这能做到吗Javascript 是否可以动态修改事件对象?jQuery触发器()/bind(),javascript,jquery,Javascript,Jquery,我想知道是否可以向传递给bind()事件处理程序函数的事件对象添加属性。我有一段代码,这段代码绑定到“mousedown”。我想明确地触发这个事件。问题是bind()处理程序需要鼠标触发事件时提供的一些事件属性;即“pageX”和“pageY” 我知道我可以将附加参数作为数组传递到Trigger()中,但我不希望更改bind()代码。这可能是不可能的 我想触发下面的处理程序并“伪造”pageX。这能做到吗 currentObj.bind("mousedown", function(e) {
currentObj.bind("mousedown", function(e) {
var handleElement = currentObj.find(".HwSliderHandle");
var offsetMultiplier = calculateOffsetMultiplier();
var newPosition = Math.round(e.pageX/offsetMultiplier) - sliderInfo.contextOffset.left;
moveHandleTo(handleElement, newPosition);
});
您可以创建自己的,然后使用以下功能发送:
var e = new jQuery.Event("mousedown");
e.pageX = 'fake value';
currentObj.trigger(e);
以下是一种方法:
$(document).ready(DocReady);
function DocReady()
{
$("#test").bind("mousedown", mouseDown);
}
function mouseDown(e)
{
alert("X: " + e.pageX + ", Y: " + e.pageY);
}
function fakeIt()
{
var e = { pageX: 40, pageY: 50 };
mouseDown(e);
}