gpt4 book ai didi

javascript - 是否可以动态修改事件对象? jQuery 触发器()/绑定(bind)()

转载 作者:塔克拉玛干 更新时间:2023-11-02 21:06:55 25 4
gpt4 key购买 nike

我想知道是否可以向传递给 bind() 事件处理函数的事件对象添加属性。我有一段代码绑定(bind)到“mousedown”。我想明确触发此事件。问题是 bind() 处理程序需要鼠标触发事件时提供的一些事件属性;即 'pageX' 和 'pageY'。

我知道我可以将附加参数作为数组传递给 Trigger(),但我不想更改 bind() 代码。这可能是不可能的。

我想触发下面的处理程序并“伪造”pageX。这能以某种方式完成吗?

 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);
});

最佳答案

您可以创建自己的 event object然后使用 trigger() 发送它功能:

var e = new jQuery.Event("mousedown");
e.pageX = 'fake value';
currentObj.trigger(e);

关于javascript - 是否可以动态修改事件对象? jQuery 触发器()/绑定(bind)(),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5303839/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com