gpt4 book ai didi

javascript - 如何使用触发器来触发 jquery 可拖动开始、拖动、停止事件?

转载 作者:行者123 更新时间:2023-11-28 01:30:38 24 4
gpt4 key购买 nike

如果我有一个可拖动的对象,并且具有“开始”、“拖动”、“停止”功能,我将如何触发它们?

我认为会导致问题的是传递给函数的参数。

我不确定是否有一种简单的方法可以做到这一点,是否可以使用某种模拟,或者我是否应该创建一个自定义对象,将其传递到eui 函数属性。

我会编写代码,但它很简单:

代码:

var $a = $("<div />").append("Test Text").appendTo("body").draggable({
start: function(e,ui){/*...*/},
drag: function (e,ui){/*...*/},
stop: function (e,ui){/*...*/}
});

我想调用这些函数,最初我在想:

$a.draggable("option", "start")();
$a.draggable("option", "drag")();
$a.draggable("option", "stop")();

我只是快速浏览了一下代码,看看在哪里使用了哪些参数。

start:   ui.position.top|left
drag: ui.position.top|left
stop: ui.position.top|left, eventArgs.ClientX, eventArgs.ClientY, eventArgs.target

所有这些都有诸如作用域之类的东西,但是由于它正确地附加到调用单击的东西上,所以与仅调用函数而不引用手头的对象会有所不同。

查看这些函数后,我应该能够创建对象来传递给触发器或函数,就像我在上面的语句中触发它一样。

最佳答案

所以一开始,这个想法是 Trigger。它将调用与调用的监听器关联的事件。

我被告知的第二个选项是适用。但是,当执行内联 js 应用时,需要有一个范围......因为在 arb 中调用它时范围是错误的。行代码。这不是指正在移动的文本框,而是指执行它的函数容器。

我首先构建一个所使用的参数列表,正如您在上面看到的那样,并在给定可拖动对象的范围的情况下应用该列表。

var s = [null,{position:{top:0,left:0}}],
d = [null,{}position:{top:0,left:0}],
sto = [{ClientX:0, ClientY:0, target:""},{]]
$("#my_item").draggable("option", "start").apply($("#my_item"), s);
$("#my_item").draggable("option", "drag").apply($("#my_item"), d);
$("#my_item").draggable("option", "stop").apply($("#my_item"), sto);

这个答案确实有效,因为它传递了正确的范围和所需的所有数据。我不确定是否有任何我不知道的需要的隐藏功能等。

关于javascript - 如何使用触发器来触发 jquery 可拖动开始、拖动、停止事件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22153595/

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