Диалог jQuery, служащий обработчику события нажатия нескольких кнопок - PullRequest
0 голосов
/ 07 октября 2010

У меня есть сценарий, где ...

1.) Создал div с выпадающим списком и ок, кнопка отмены 2.) Готов к документу - регистрация div, созданного на шаге 1, в диалоге jQuery. 3.) при нажатии кнопки JavaScript - я открываю это диалоговое окно. 4.) Теперь проблема в том, что созданное мной диалоговое окно jQuery должно использоваться другими нажатиями кнопок на той же странице. Теперь мой div (который является диалогом во время выполнения с использованием jQuery), нажатие кнопки ОК уже задействовано с помощью функции javascript (кнопка button1), и я не могу связать с ней события нажатия других кнопок - таким образом, застрял здесь и не имею никаких подсказок или попаданий чтобы решить это.

Кто-нибудь сталкивался с этой проблемой в asp.net, jquery ранее? Может ли кто-нибудь дать руководство?

Ответы [ 2 ]

0 голосов
/ 07 октября 2010

Параметры:

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

2) создайте несколько кнопок, чтобы все они были скрыты, привязайте обработчик щелчка к каждой кнопке, которую вы хотите. Когда div открыт, проверьте, какую кнопку переключить на видимую.

3) не создавать кнопки, но есть функция создания кнопки на лету. Когда div открыт, создайте кнопку для этого div, вызывая функцию и передавая код, сообщающий ей, какую кнопку открывать и что связывать с обработчиком щелчка (это можно сохранить в массиве, и все, что передается в ключ).

В зависимости от приложения я использовал все эти методы. Последний может иметь поворот, который позволяет ему вызывать приложение на основе сервера ajax для получения текста кнопки и ее функциональности (хранящейся в базе данных), это избавляет вас от необходимости загружать массив с данными кнопки, а также обеспечивает более простое расширение. заявки.

0 голосов
/ 07 октября 2010

Почему вы не можете связать другое событие?

кнопки будут иметь другой идентификатор.

$ ('# button1'). Click (function () {alert ('Обработчик для кнопки 1 .click () вызывается.');});

$ ('# button2'). click (function () {alert ('Обработчик для кнопки 2 .click () вызывается.');});

Разве это не возможно в вашем случае?

...