Я новичок в jquery, и я не могу понять, как использовать событие «размытие» внутри события «щелчок».JQuery, событие размытия внутри события click click
Мой проект имеет
- набора инструментальных средств: где есть кнопка для добавления элементов в холст
- холсте: все элементы, добавленные здесь появляются
- Редактор Окно: Где можно увидеть/редактировать элементы свойства
вот набросок моего проекта: Fiddle
Каждый элемент, который я добавляю в холст, будет иметь два представления: объект и визуальный, который является div.
Пункт: Когда я добавляю элементы в холст, я могу их щелкнуть, и я могу редактировать их атрибуты в окне редактора. Элементы имеют атрибут текста и имя.
Но если у меня есть, например, два элемента на холсте и попробуйте изменить атрибут текста одного из них (в окне редактора), он изменяет все атрибуты текста элементов. Моя проблемная функция заключается в следующем:
$(function(){
canvas.delegate('.myElement','click', function(){
var obj = this;
myTextArea.val(this.text);
myTextArea.on('blur',function(){
obj.text = myTextArea.val();
});
});
});
Может ли кто-нибудь сказать мне, где я опасаюсь? Спасибо за помощь, ребята
Когда вы добавляете элемент на холсте, попробуйте добавить eventlistener. – Sushil
Вы должны (почти) никогда не иметь обработчиков событий внутри других обработчиков событий, они просто продолжают усугубляться.Каждый раз, когда кто-то нажимает на элемент, добавляется новый обработчик события 'blur', поэтому он запускает код дважды, затем трижды, затем четыре раза и т. Д. На каждое событие размытия. – adeneo