Я следую примеру модального диалога на веб-сайте jQuery UI, но не успеваю отобразить диалог. В примере создается и открывается диалоговое окно с помощью кнопки-cllick, но я пытаюсь запустить его из щелчка на элементе TD. Это возможно?можно открыть диалоговое окно JQuery UI, нажав на элемент TD?
ответ
Предположим, что ваш td
элемент имеет clickable_td
идентификатор, а также ваш диалог блок имеет dialog
идентификатор, поэтому вы можете прикрепить кнопку обработчик события тд emelent с объектом функции on()
и отображения диалогового блока с dialog()
объекта функции в то время как щелчки захватили, как это :
$('#clickable_td').on('click',function(){$('#dialog').dialog();});
Примечание: Jquery г-индекс по умолчанию 100, если элементы макетов имеют более высокое значение, попробуйте вместо этого:
$('#clickable_td').on('click',function(){$('#dialog').dialog();$('div.ui-front').removeClass('ui-front').css({zIndex: "10000"})});
Этот код в основном создает пользовательский интерфейс блока. Вместо использования интерфейса пользовательского интерфейса jquery block вы можете использовать плагин jquery blockUI. Вы можете сослаться на ссылку, чтобы понять код. http://www.malsup.com/jquery/block/#demos В приведенном ниже примере #yourtd_id - это идентификатор вашего td и #your_div - это div, который вы хотите сделать модальным. Когда нажимается td .blockUI - это класс, который отображает ваш_div на экране. Теперь это похоже на модальный диалог. Чтобы выйти из модального диалога, вставьте кнопку на #your_div и укажите id как #cancel_btn. При щелчке на #cancel_btn .unblockUI() разблокирует пользовательский интерфейс, который блокирует модальный диалог.
$(document).ready(function() {
$('#yourtd_id').click(function() {
$.blockUI({ message: $('#your_div') });
//keep a cancel button on #your_div. for eg: consider its id as #cancel_btn
});
$('#cancel_btn').click(function(){
$.unblockUI();
});
});
Это будет работать. Надеюсь, это поможет вам.
Привет, ваше сообщение было помечено как «низкое качество», вероятно, потому что оно состоит исключительно из кода. Вы могли бы значительно улучшить свой ответ, объяснив, как именно и почему это отвечает на вопрос? Многие люди, как правило, ниспровергают или никогда не будут выдвигать ответы без объяснений, поэтому в ваших интересах это сделать. – Ben
@Ben Теперь я дал полную информацию о том, как работает код. Посмотри на это. – Gourav
@Saber Haj Rabiee: это, по сути, то, что я делаю. Теперь я полагаю, что моя проблема может быть связана с z-индексом. http://stackoverflow.com/questions/14954104/why-jquery-ui-1-10-remove-jquery-dialog-zindex-option – Tim
@Tim Можете ли вы поделиться своим кодом? в jQuery UI 1.10.3 по умолчанию индекс zi-front по умолчанию равен 100, поэтому, если другие слои имеют более высокое значение z-index jQuery, вам нужно изменить jQuery z-index. Я бы обновил свой пост. – 01e
«попробуйте это» не является объяснением того, почему ваше решение будет работать @Saber; теперь вы добавили немного больше объяснений, поэтому я удаляю свой предыдущий комментарий, но я бы рекомендовал вам подробнее рассказать о том, что происходит. Идея сайта заключается в том, чтобы быть ресурсом для будущего на данный момент, который большинство людей сможет сделать с вашим ответом, это скопировать и вставить код. См. Http://meta.stackexchange.com/questions/196187/is-try-this-bad-practice – Ben