Javascript Jquery-切换mousedown事件而不在dom中销毁它?
所以周五我问了这个问题,但写得不好,让我更详细地解释一下: 这听起来可能是补救措施,但我有一个包含mousedown事件的容器,我只想在不破坏其属性的情况下切换它 如果有:Javascript Jquery-切换mousedown事件而不在dom中销毁它?,javascript,jquery,dom,Javascript,Jquery,Dom,所以周五我问了这个问题,但写得不好,让我更详细地解释一下: 这听起来可能是补救措施,但我有一个包含mousedown事件的容器,我只想在不破坏其属性的情况下切换它 如果有: $("#div").unbind("mousedown") // This will just destroy the event. 我想我可以将事件移动到一个未被使用的dom元素?然后等我做完就把它换回来 事情就是这样:我有一个插件,现在就叫它Vinny吧 $("#div").vinny(settings);
$("#div").unbind("mousedown") // This will just destroy the event.
我想我可以将事件移动到一个未被使用的dom元素?然后等我做完就把它换回来
事情就是这样:我有一个插件,现在就叫它Vinny吧
$("#div").vinny(settings);
vinny有一个mousedown事件,我想通过触发器启用/禁用它
我想我会有一个$fn.disableMouseDown函数可以禁用它,但我很好奇他们是否有一种方法可以解除dom上的鼠标向下绑定,但不破坏它
如果你知道一种快速的方法,请帮我!谢谢,Vinny我会在事件中插入一个
if(toggle)
语句。你为什么不能那样做?(我能想到的唯一一件事是,您不希望事件不断地被反复触发,这是有道理的-是这样吗?一种方法是只使用命名函数,在需要时绑定它,在不需要时解除绑定:
function foo () {
// do something on mousedown
}
// When needed:
$("#div").bind("mousedown", foo);
// When not needed:
$("#div").unbind("mousedown", foo);
将您的命令放在函数中,这样您只能绑定/取消绑定一行,即:
function some() {
// some commands
}
$("#div").bind("mousedown", some);
$("#div").unbind("mousedown");
下面是一个工作示例
我认为这是一个简单而优雅的解决方案嘿,伙计们,谢谢你们提出的所有想法,但我还是用了一种很有技巧的方法来解决这个问题 我解释说: 因此,mousedown上的这个插件绑定在plugin.init()中,在它们的“我定义了一个本地函数”中,检查disableValue,在它们的“我只检查dom”中是否存在一个或执行一个bool返回,并针对退出mousedown事件时已经存在的另一个函数运行该函数 有道理吗?我也希望如此
谢谢,忘了提了!绑定事件在一个对象中展开,因此我有$(“#div”).plugin()在插件中我有mousedown事件我想如果您需要我们的帮助,我们需要更多详细信息:)您试图通过调用鼠标按下来切换什么?这是在DOM中的其他地方完成的吗?你可以告诉它运行相同的函数或者类似的东西吗?