jQuery отдельные события dblclick внутри и снаружи элемента div

0

Я разрабатываю локальный сайт для создания контента, и я бы хотел использовать функцию двойного щелчка javascript.

Я бы хотел повернуть по полноэкранным фоновым изображениям, когда пользователь дважды щелкает за пределами div с именами/идентификаторами 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();    
 } 
 });
});  

UPDATE: решение, появившееся ниже, чтобы добавить "событие" внутри функции, частично помогло, так как фон вращается должным образом, однако #bigwrappers не переключаются по назначению (условие else). См.: http://artfuladvection.com/project/NOAA/ndfdGraph/bloom.php Идеи?

Благодарю!

  • 0
    Проверьте консоль и посмотрите, нет ли ошибок! Скорее всего, там будет что-то интересное для чтения.
  • 1
    Здесь отлично работает ... jsfiddle.net/SqRQ6 Можете ли вы повторить
Показать ещё 1 комментарий
Теги:
dom
events

2 ответа

0
Лучший ответ

Полный ответ, который работал для меня, состоял в том, что мне нужно было прекратить исключать определенные имена классов /ids и вместо этого исключать целые теги элементов. В качестве альтернативы, я мог бы просто использовать if (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();    
     } 
 });
4

что, поскольку функция dblclick не знает о переменной event. попробуй это

$('html').dblclick(function (event) {
  • 0
    Спасибо! Это помогло исправить фон только циклично, но # bigwrapper's .toggle () вообще не работает. Идеи? Вот URL: artfuladvection.com/project/NOAA/ndfdGraph/bloom.php

Ещё вопросы

Сообщество Overcoder
Наверх
Меню