Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 04.02.2011, 17:33
Аватар для Sufir
Аспирант
Отправить личное сообщение для Sufir Посмотреть профиль Найти все сообщения от Sufir
 
Регистрация: 15.06.2008
Сообщений: 47

dialog( "close" ) не работает
Не срабатывает "close".

<div id="dialogBox" title="Заголовок диалогового окна.">
  <p>Текст диалогового окна.</p>
  <p><button class="dialogBoxBtn">Закрыть 2</button></p>
</div>
$(document).ready(function() {

$("#dialogBox").dialog({
	          closeOnEscape: true, // Не срабатывает
	          position: "top",
	          resizable: false,
	          buttons: [
	          {
	              text: "Закрыть 1",
	              click: function() { $(this).dialog( "close" ); } // Не срабатывает
	          }]
	        });

$(".dialogBoxBtn").button();
$(".dialogBoxBtn").click( function() { $("#dialogBox").dialog( "close" ); }); // Не срабатывает

}


В итоге окно и кнопка успешно появляются, но окно не закрывается ни при нажатии на кнопку "Закрыть 1", ни при нажатии на "Закрыть 2", ни при клике вне диалогового окна. Закрыть этот диалог можно только стандартным "крестиком" в заголовке.

Если в click любой из кнопок поместить, к примеру alert(), тот успешно срабатывает. Что я делаю не так?

__________
jQuery 1.4, UI 1.8, от браузера не зависит.
Ответить с цитированием
  #2 (permalink)  
Старый 05.02.2011, 11:21
Аватар для Sufir
Аспирант
Отправить личное сообщение для Sufir Посмотреть профиль Найти все сообщения от Sufir
 
Регистрация: 15.06.2008
Сообщений: 47

Извиняюсь, поторопился - не там копал... С ZFDebug'ом конфликт был, после отключения всё прекрасно заработало... Тему можно закрыть.
Ответить с цитированием
  #3 (permalink)  
Старый 20.09.2014, 23:47
Новичок на форуме
Отправить личное сообщение для malivadim Посмотреть профиль Найти все сообщения от malivadim
 
Регистрация: 21.08.2014
Сообщений: 6

Тоже не работает dialog('close')
Имею следующее:
<table>
<tr>
<td><a href="#" class="ad_small">объявление 1</a>
<div class="ad_detail" style="display:none">Подробно текст объявления 1</div>
</td>
</tr>
<tr>
<td><a href="#" class="ad_small">объявление 1</a>
<div class="ad_detail" style="display:none">Подробно текст объявления 2</div>
</td>
</tr>
<tr>
<td><a href="#" class="ad_small">объявление 1</a>
<div class="ad_detail" style="display:none">Подробно текст объявления 3</div>
</td>
</tr>
</table>

это у меня таблица с объявлениями, формируется в цикле. У всех ссылок одинаковый класс ad_small,а у дивов ad_detail - это подробный текст объявления.

Так вот, я использую JqueryUI виджет dialog. Я хочу чтобы при наведении на ссылку через секунду появился див, а после того как указатель с ссылки убран,чтобы этот див исчез. Вроде как все просто, а не работает, вот мой код:
$(function($) { 
$('.ad_small').mouseenter(function(){
	var self = this;
        tout=setTimeout(function(){
 	$(self).siblings('.ad_detail').dialog();
       },1000);})
       .mouseout(function(e){
	clearTimeout(tout);
	$(self).siblings('.ad_detail').dialog('close');
 	});
 });

При наведении, через секунду див открывается, но не хочет закрываться при mouseout.
Чую, что что-то с селектором не то.

Пробовал сделать просто без таблицы
<a href="#" class="ad_small">объявление 1</a>
<div class="ad_detail" style="display:none">Подробно текст объявления 1</div>

и код JS:
$(function($) { 
$('.ad_small').mouseenter(function(){
	
        tout=setTimeout(function(){
 	$('.ad_detail').dialog();
       },1000);})
       .mouseout(function(e){
	clearTimeout(tout);
	$('.ad_detail').dialog('close');
 	});
 });

так работает.


Буду очень признателен за помощь.

Последний раз редактировалось malivadim, 20.09.2014 в 23:51.
Ответить с цитированием
  #4 (permalink)  
Старый 21.09.2014, 00:13
Новичок на форуме
Отправить личное сообщение для malivadim Посмотреть профиль Найти все сообщения от malivadim
 
Регистрация: 21.08.2014
Сообщений: 6

Нашел решение, так все ОК)

$(function($) {
$('.ad_small').mouseenter(function(){
    var self = this;
    n = 0;
    num = $(this).siblings('.ad_detail');
    tout=setTimeout(function(){
    $(self).siblings('.ad_detail').dialog();
    n = 1;
       },1000);})
                       .mouseout(function(e){
                            clearTimeout(tout);
                            if(n){
                                        $(self).siblings('.ad_detail').dialog('destroy');
                                   }
    });
 });
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
$('#id') не работает для некоторых элементов tmvrus jQuery 10 12.10.2010 15:45
Работает в Mozilla и не работает в IE Maxidrom Events/DOM/Window 4 27.02.2010 16:37
ява-скрипт выборочно работает-не работает zeta777 Internet Explorer 0 20.01.2010 11:41
Динамическая HTML форма (FireFox - работает, IE - не работает) dm1tr1y Общие вопросы Javascript 10 11.12.2009 15:59
Скрипт меню-гармошки работает выборочно Extern Элементы интерфейса 2 23.02.2009 15:32