Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 10.03.2010, 08:48
Аватар для micscr
Профессор
Отправить личное сообщение для micscr Посмотреть профиль Найти все сообщения от micscr
 
Регистрация: 10.09.2009
Сообщений: 1,571

получить ссылку на функцию
Привет.

Имеем, например
<p onclick="alert('1')">

Мне надо его удалить из dom, а новому вставляемому элементу присвоить ссылку на существующий у удаляемого обработчик onclick. Как это можно сделать?

Спасибо.
Ответить с цитированием
  #2 (permalink)  
Старый 10.03.2010, 09:09
Аватар для Gvozd
Матрос
Отправить личное сообщение для Gvozd Посмотреть профиль Найти все сообщения от Gvozd
 
Регистрация: 04.04.2008
Сообщений: 6,246

в чем проблема?
получить обработчик с удаляемого элемента?
если обработчик навешен посредством атрибута/свойства onclick, то и найти его можно там же, в свойстве объекта
если повешен с помощью addEventListener, то надо где-то(например в отдельном свойстве-массиве элемента) хранить информацию о повешеных обработчиках, так как в явном виде они нигде не присутсвуют.так делается во всех фреймворках, насколько я в курсе.
повесить обработчик на создаваемый элемент?
вроде бы также не должно быть проблемы.
конкретизируйте что именно у вас не получается, потому что мне кажется, вам трудностей это не должно составлять

не прочитал название темы.
конкретно для данного случая, повешенный обработчик находится в свойстве onclick удаляемого элемента.
в случае же addEventListener, вам придется изменить свой код так, чтобы при навешивании обработчика где-то в кеше(например в неиспользуемом стандартно свойстве самого объекта) сохранялась ссылка на обработчик. иным способом получить ссылку на навешенный обработчик нельзя

Последний раз редактировалось Gvozd, 10.03.2010 в 09:11.
Ответить с цитированием
  #3 (permalink)  
Старый 10.03.2010, 09:35
Аватар для micscr
Профессор
Отправить личное сообщение для micscr Посмотреть профиль Найти все сообщения от micscr
 
Регистрация: 10.09.2009
Сообщений: 1,571

это меня на другом форуме сбили и начал подтуплять.
Понял, что через onclick.
Там просто темку запостили:
есть какой-то элемент и на нем различные обработчики висят и js назначенные и jQuery. Этот элемент например <p> надо поменять на <div><span></span></div> и все обработчики <p> навесить на <span>.
С onclick уже понял а jQuery где-то по другому прячет, редиска.
Ответить с цитированием
  #4 (permalink)  
Старый 10.03.2010, 10:10
Аватар для micscr
Профессор
Отправить личное сообщение для micscr Посмотреть профиль Найти все сообщения от micscr
 
Регистрация: 10.09.2009
Сообщений: 1,571

Вообще странно. Вот пишу на чистом JS:
Смысл - вывести все св-ва списка и среди них onchange. Жму кнопку первый раз - onchange в списке нет. Выполняю onchange списка, жму кнопку вывода - уже имеется. Почему так?
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<html >
<head>
<title>222222222222</title>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1251">

<style>
div {background-color:#009999; height:200px; width:500px;}
span {background-color:#3366FF; color:#FF0000}
</style>

  </head>
 <body>
 <select name="xx" id="xxx" onChange="alert('111')">
 <option value="1">11111</option>
 <option value="2">22222</option>
 <option value="3">33333</option>
 </select>
 </body>
 

<button onClick="whatdo()" id="but1">Действие</button><br>
<div id="ddd"></div>
<script type="text/javascript">

var k = null;
function copyEv(objFrom)
{
    var ev;var s = '';
    for (ev in objFrom)
	{
	    if (typeof objFrom[ev] == 'function') {
		  s += ev + '<br>';
		}
	}

	document.getElementById('ddd').innerHTML = s;
}

function whatdo()
{
	var obj =   document.getElementById('xxx');
	copyEv(obj);
}


</script>
</html>
Ответить с цитированием
  #5 (permalink)  
Старый 10.03.2010, 10:58
Аватар для micscr
Профессор
Отправить личное сообщение для micscr Посмотреть профиль Найти все сообщения от micscr
 
Регистрация: 10.09.2009
Сообщений: 1,571

Предыдущий вопрос (по js), если кто знает, остается в силе .

А с копированием вроде разобрался - глянул как в самом jQuery клонирование выполняется.
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Получить координаты курсора в текстовом поле в пикселях prike Events/DOM/Window 4 23.05.2013 04:35
Получить ссылку на iframe PAMAC Javascript под браузер 2 23.02.2010 15:12
получить ссылку на родительский элемент(контейнер) rwety Events/DOM/Window 12 28.07.2009 10:07
Получить объект содержащий caller no_alex Общие вопросы Javascript 14 20.03.2009 21:37
Как получить полную ссылку из относительной, с учётом базы Lexi Общие вопросы Javascript 11 15.03.2009 00:50