有没有办法在jQuery中更改事件参数?

前端之家收集整理的这篇文章主要介绍了有没有办法在jQuery中更改事件参数?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我希望能够更改传递给selectable的start事件的参数,因此我基本上可以允许我的用户使用可选择的jQuery UI效果而无需按住CTRL键.

JS

$(function() {
$( "#selectable" ).bind("mousedown",function(event,ui) {
    var result = $( "#select-result" ).empty();
    event.MetaKey = event.ctrlKey = true;
});
$( "#selectable" ).selectable();
});

我有一个小提琴,我想在这里完成的事情:

http://jsfiddle.net/josephbulger/ZfevM/

我遇到的问题是,当我在start方法中设置事件的参数时,stop方法没有看到我正在进行的更改.

有没有办法完成我想要做的事情?

解决方法

您无法在此处设置属性…因为它是stop方法中的不同事件对象.您可以在更高的范围( like this)设置一些变量,但不会在事件对象上保留任何变量.并不是说它真的“清理”它们,它只是一个打击新物体的品牌.

要使selectable的行为与按住Ctrl一样,请提前绑定到它使用的mousedown事件,并将该event上的.MetaKey属性设置为true,如下所示:

$("#selectable").bind("mousedown",function(e) {
    e.MetaKey = true;
}).selectable();

You can test it out here,记得在调用.selectable()之前找到,因为事件处理程序是按顺序执行的.

猜你在找的jQuery相关文章