Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 10.11.2009, 10:02
m00 m00 вне форума
Интересующийся
Отправить личное сообщение для m00 Посмотреть профиль Найти все сообщения от m00
 
Регистрация: 10.11.2009
Сообщений: 22

Содержимое bind
Всем привет.

Есть некоторый элемент, к которому было применено следующее:

$('...').bind('click', function() { ... })


Мне нужно получить функцию, которая срабатывает на клик и сохранить её или передать другому объекту.

$('...').click
$('...').attr('onclick')
document.getElementById('...').onclick
document.getElementById('parent').addEventListener('click', handler(возвращает false), false)

Ничего не срабатывает.

Возможно ли это сделать, ведь где то хранится действие, которое должно произойти на клик.
Ответить с цитированием
  #2 (permalink)  
Старый 10.11.2009, 10:10
Аватар для Riim
Рассеянный профессор
Отправить личное сообщение для Riim Посмотреть профиль Найти все сообщения от Riim
 
Регистрация: 06.04.2009
Сообщений: 2,379

eventListenerList : http://www.w3.org/TR/2001/WD-DOM-Lev...23/events.html

Но это новая штука, мало где есть, пока же только эмулировать самому.
Ответить с цитированием
  #3 (permalink)  
Старый 10.11.2009, 10:13
Отправить личное сообщение для Octane Посмотреть профиль Найти все сообщения от Octane  
Регистрация: 10.07.2008
Сообщений: 3,873

var test = $("<div>test</div>");
test.appendTo(document.body);
test.click(function() { alert("O_o") });
var handlers = test.data("events").click;
for (var listener in handlers) {
    handlers[listener]();
}
Ответить с цитированием
  #4 (permalink)  
Старый 10.11.2009, 10:21
Аватар для Riim
Рассеянный профессор
Отправить личное сообщение для Riim Посмотреть профиль Найти все сообщения от Riim
 
Регистрация: 06.04.2009
Сообщений: 2,379

Ох, туплю. Там же даже в самых стандартных вариантах все уже есть.
Ответить с цитированием
  #5 (permalink)  
Старый 10.11.2009, 10:42
m00 m00 вне форума
Интересующийся
Отправить личное сообщение для m00 Посмотреть профиль Найти все сообщения от m00
 
Регистрация: 10.11.2009
Сообщений: 22

Сообщение от Octane Посмотреть сообщение
var test = $("<div>test</div>");
test.appendTo(document.body);
test.click(function() { alert("O_o") });
var handlers = test.data("events").click;
for (var listener in handlers) {
    handlers[listener]();
}

Спасибо, это похоже то что нужно. Нашел такой пример:
console.dir( jQuery('#span').data('events') );
jQuery.each($('#span').data('events'), function(i, event){
        jQuery.each(event, function(i, handler){
	       console.log( handler.toString() );
	});
});


Сообщение от Riim Посмотреть сообщение
Ох, туплю. Там же даже в самых стандартных вариантах все уже есть.

Это пробовал, не совсем подходит. Думал сначала не получать событие click, а отлавливать через листенер и возвращать false, но в итоге click все равно срабатывал.

Спасибо за ответы.
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
получить содержимое с самим собой Koc jQuery 2 25.09.2009 13:20
не назначается bind после unbind constantant jQuery 7 15.09.2009 13:59
Не могу изменить содержимое innerHTML в ie djon-killer Events/DOM/Window 24 02.09.2009 13:17
содержимое фрейма cuberboy Internet Explorer 8 20.07.2009 14:03
Как получить содержимое <script></script> из полученного ответа vvsh Events/DOM/Window 2 09.07.2009 20:32