Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/70.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在div元素内部和外部分离dblclick事件_Javascript_Jquery_Events_Dom - Fatal编程技术网

Javascript jQuery在div元素内部和外部分离dblclick事件

Javascript jQuery在div元素内部和外部分离dblclick事件,javascript,jquery,events,dom,Javascript,Jquery,Events,Dom,我正在开发一个用于内容创建的本地站点,我想使用javascript的双击功能 当用户双击divs外的名称/ids bigwrapper或bigwrapper2时,我希望通过全屏背景图像进行旋转。当用户单击#bigwrapper或#bigwrapper2时,我希望它是.toggle();每个都可以隐藏/显示一个或另一个 以下是我的更新代码(感谢lordvlad): $(function() { $( "#bigwrapper" ).draggable(); $( "#bigwrapper

我正在开发一个用于内容创建的本地站点,我想使用javascript的双击功能

当用户双击divs外的名称/ids bigwrapper或bigwrapper2时,我希望通过全屏背景图像进行旋转。当用户单击#bigwrapper或#bigwrapper2时,我希望它是.toggle();每个都可以隐藏/显示一个或另一个

以下是我的更新代码(感谢lordvlad)

$(function() { 
 $( "#bigwrapper" ).draggable();  
 $( "#bigwrapper2" ).draggable(); 

 var SacramentoBG = ['nightcap.jpg','Tower_Bridge_Sacramento_edit.jpg'], 
     counter =0;            

 $('html').dblclick(function (event) {
    if (event.target.id != "bigwrapper" && event.target.id != "bigwrapper2") {
     counter = (counter+1) % SacramentoBG.length;
     $('html').css('background-image', "url("+SacramentoBG[counter]+")");
 } else {
     $("#bigwrapper").toggle();
     $("#bigwrapper2").toggle();    
 } 
 });
});  
更新:下面在函数中添加“事件”的解决方案在一定程度上有所帮助,因为背景旋转正确,但是#bigwrappers没有按预期进行切换(else条件)。参见:创意?


谢谢

这是因为dblclick函数不知道
事件
变量。试试这个

$('html').dblclick(function (event) {

这是因为dblclick函数不知道
事件
变量。试试这个

$('html').dblclick(function (event) {

对我有效的完整答案是,我需要停止排除特定的类名/ID,而是排除整个元素标记。或者,如果(event.target.TagName=='BODY'){}

 $('body').dblclick(function (event) {
     if (event.target.tagName != 'DIV' && event.target.tagName != 'IMG' && event.target.tagName != 'TABLE' && event.target.tagName != 'HR' && event.target.tagName != 'SMALL' ) {
       counter = (counter+1) % SacramentoBG.length;
       $('html').css('background-image', "url("+SacramentoBG[counter]+")");
     } else {
       $("#bigwrapper").toggle();
       $("#bigwrapper2").toggle();    
     } 
 });

对我有效的完整答案是,我需要停止排除特定的类名/ID,而是排除整个元素标记。或者,如果(event.target.TagName=='BODY'){}

 $('body').dblclick(function (event) {
     if (event.target.tagName != 'DIV' && event.target.tagName != 'IMG' && event.target.tagName != 'TABLE' && event.target.tagName != 'HR' && event.target.tagName != 'SMALL' ) {
       counter = (counter+1) % SacramentoBG.length;
       $('html').css('background-image', "url("+SacramentoBG[counter]+")");
     } else {
       $("#bigwrapper").toggle();
       $("#bigwrapper2").toggle();    
     } 
 });

检查控制台,看看是否有任何错误!可能会有一些有趣的东西在里面读。在这里工作很好。。。在按照lordvlad的解决方案将“事件”添加到函数后,是否可以复制更多控制台错误@PSL:查看上面的url。检查控制台,看看是否有任何错误!可能会有一些有趣的东西在里面读。在这里工作很好。。。在按照lordvlad的解决方案将“事件”添加到函数后,是否可以复制更多控制台错误@请看上面的网址。谢谢!这有助于修复后台循环,但#bigwrapper的.toggle()根本不起作用。思想?这里是网址:谢谢!这有助于修复后台循环,但#bigwrapper的.toggle()根本不起作用。思想?以下是网址: