Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/85.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript Jquery-切换mousedown事件而不在dom中销毁它?_Javascript_Jquery_Dom - Fatal编程技术网

Javascript Jquery-切换mousedown事件而不在dom中销毁它?

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

所以周五我问了这个问题,但写得不好,让我更详细地解释一下:

这听起来可能是补救措施,但我有一个包含mousedown事件的容器,我只想在不破坏其属性的情况下切换它

如果有:

 $("#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中的其他地方完成的吗?你可以告诉它运行相同的函数或者类似的东西吗?