Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 16.10.2012, 07:56
Аспирант
Отправить личное сообщение для Kotakota Посмотреть профиль Найти все сообщения от Kotakota
 
Регистрация: 12.07.2011
Сообщений: 71

Копирование событий другому элменту.
Привет.
Есть элемент, допустим INPUT:
<input id="inp" type="text" />

На него вешается событие (onclick) с помощью jQuery:
form.on('click',function(e){
// ....
})

Теперь динамически создаю элемент:
input = document.createElement("input");

Как можно без jQuery повесить на него такое же событие, что и на инпуте с id="inp"?
В jQuery есть удобный "clone", а что можно сделать, что бы это работало с простым javascript и особенно в IE.
Ответить с цитированием
  #2 (permalink)  
Старый 16.10.2012, 08:05
Аспирант
Отправить личное сообщение для Kotakota Посмотреть профиль Найти все сообщения от Kotakota
 
Регистрация: 12.07.2011
Сообщений: 71

Еще хотел добавить, что сейчас на элементе, с которого нужно скопировать событие висит следующее:
password.complexify(function(valid, complexity){
})

password - это input c type="password"
Как это можно скопировать в новый созданный input?
Ответить с цитированием
  #3 (permalink)  
Старый 16.10.2012, 08:32
Аватар для cyber
I am Student
Отправить личное сообщение для cyber Посмотреть профиль Найти все сообщения от cyber
 
Регистрация: 16.12.2011
Сообщений: 4,415

а вы не пробывали функцию которая обрабатывает событие выносить отдельно?

function EventListener () {


}

form.on("click", EventListener)
elem.on("click", EventListener)
__________________
Цитата:
Если ограничения и условия описываются как "коробка", то хитрость в том что бы найти именно коробку... Не думайте о чем то глобальном - найдите коробку.
Ответить с цитированием
  #4 (permalink)  
Старый 16.10.2012, 08:50
Аспирант
Отправить личное сообщение для Kotakota Посмотреть профиль Найти все сообщения от Kotakota
 
Регистрация: 12.07.2011
Сообщений: 71

cyber, спасибо за совет.
Я вешаю на свой элемент модуль jQuery, который расширяет стандартный набор функций jQuery:
$.fn.extend({
		complexify: function(options, callback) {
}

Пробовал, что то типа:
input.complexify = $.complexify(function(valid, complexity){
								  
								   })

Но так тоже не вызывается.
Ответить с цитированием
  #5 (permalink)  
Старый 16.10.2012, 09:03
Аватар для bes
bes bes вне форума
Профессор
Отправить личное сообщение для bes Посмотреть профиль Найти все сообщения от bes
 
Регистрация: 22.03.2012
Сообщений: 3,744

live()
PS: зачем без jq, если всё равно использовать jq
Ответить с цитированием
  #6 (permalink)  
Старый 16.10.2012, 09:56
Аспирант
Отправить личное сообщение для Kotakota Посмотреть профиль Найти все сообщения от Kotakota
 
Регистрация: 12.07.2011
Сообщений: 71

Попробовал
intput.on('complexify',({minimumChars:8,strengthScaleFactor:0.7}, function(valid, complexity){
})

Пишет, что предполагается наличие объекта.
Ответить с цитированием
  #7 (permalink)  
Старый 16.10.2012, 09:58
Аспирант
Отправить личное сообщение для Kotakota Посмотреть профиль Найти все сообщения от Kotakota
 
Регистрация: 12.07.2011
Сообщений: 71

Видимо придется забить на IE.
Ответить с цитированием
  #8 (permalink)  
Старый 16.10.2012, 14:31
Аватар для cyber
I am Student
Отправить личное сообщение для cyber Посмотреть профиль Найти все сообщения от cyber
 
Регистрация: 16.12.2011
Сообщений: 4,415

конечно я не очень разбераюсь в jquery
но что это за строчка маразма
({minimumChars:8,strengthScaleFactor:0.7}, function(valid, complexity){
}

intput.on('complexify', function(){
$.complexify({minimumChars:8,strengthScaleFactor:0 .7},function() {})
})
__________________
Цитата:
Если ограничения и условия описываются как "коробка", то хитрость в том что бы найти именно коробку... Не думайте о чем то глобальном - найдите коробку.
Ответить с цитированием
  #9 (permalink)  
Старый 16.10.2012, 15:47
Аспирант
Отправить личное сообщение для Kotakota Посмотреть профиль Найти все сообщения от Kotakota
 
Регистрация: 12.07.2011
Сообщений: 71

cyber, да эта строчка - истинный маразм.
Ваш вариант обязательно попробую.
И возник еще вопрос по ходу дела.
Допустим, я динамически создал элемент:
input = document.createElement("input");

можно ли к объекту "input" прицепить событие:
intput.on('complexify', function(){
$.complexify({minimumChars:8,strengthScaleFactor:0 .7},function() {})
})

Или "input" должен обязательно быть объектом jQuery?
Ответить с цитированием
  #10 (permalink)  
Старый 16.10.2012, 16:01
Аватар для cyber
I am Student
Отправить личное сообщение для cyber Посмотреть профиль Найти все сообщения от cyber
 
Регистрация: 16.12.2011
Сообщений: 4,415

Сообщение от Kotakota Посмотреть сообщение
Допустим, я динамически создал элемент:
input = document.createElement("input");

можно ли к объекту "input" прицепить событие:
intput.on('complexify', function(){
$.complexify({minimumChars:8,strengthScaleFactor:0 .7},function() {})
})
function onComplexify(){
$.complexify({minimumChars:8,strengthScaleFactor:0 .7},function() {})
}
intput.on('complexify', onComplexify);
elem.on('click',onComplexify);//к примеру

Сообщение от Kotakota Посмотреть сообщение
Или "input" должен обязательно быть объектом jQuery?
если вы используете jQuery то элемент должен быть обязательно обьектом Jquery
__________________
Цитата:
Если ограничения и условия описываются как "коробка", то хитрость в том что бы найти именно коробку... Не думайте о чем то глобальном - найдите коробку.
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
копирование файлов в обход ограничений безопасности danil2011 Internet Explorer 0 27.06.2011 06:43
Переопределение событий lispik jQuery 4 13.01.2011 11:30
Скопировать обработчики событий с одного элемента на другой. Jurasmi Events/DOM/Window 3 10.11.2010 18:03