Сегодня я столкнулся с очень странным требованием, которое похоже на это: когда я нажимаю на текст, появляется кнопка удаления, чтобы удалить только что нажал текст.
Привет? Я думал об этом в то время, это было не сложно. Но, поскольку это было странным требованием, как это могло быть так просто?
Да, есть другая функция. Я не знаю, какой тег я нажал. Слишком много тегов, которые могут нести текст на английском языке ...
В то время я был смущен. Вы не знали, какой тег щелкнуть, как мне связать событие? Для кого я связал мероприятие? Мне все еще пришлось написать это после долгого разговора. Итак, я начал работать.
Моя идея такая:
НАЧИНАТЬ
1. Во -первых, вы должны запустить объект мышью. (Вопрос в ... Как я узнаю, какой из них я нажал)
Затем напишите функцию, чтобы нажать на объект мышь
Функция GET_TAG связана с событием Body OnClick, а затем принят параметр события;
Затем объект события имеет целевой атрибут, который является объектом, который может напрямую получить щелчок мыши.
Давайте войдем в систему, чтобы увидеть
Ну, это нормально. Это согласуется с предыдущей идеей и получает желаемый результат.
2. Получите объект. Но как его удалить?
var del_tag = function () {var Tag = null; return {get: function (e) {tag = e; }, del: function () {$ (Tag) .Remove (); }}}Поскольку кнопка «Удалить» не имеет ничего общего с объектом, на который мы нажимаем, мы должны написать закрытие и объявить тег, чтобы сохранить объект, на который мы нажали.
Затем верните две функции, одна получена. Используется для получения объекта, который мышь щелкнула в прошлый раз. Один из них. Как следует из названия, удалите объект, который был нажат.
Поскольку это закрытие, тег будет сохранен в памяти, просто чтобы реализовать желаемую функцию.
3. Комбинация двух
var del_tag = function () {var Tag = null; return {get: function (e) {tag = e; }, del: function () {$ (Tag) .Remove (); }}} var dt = del_tag (); // назначить del_tag функции dt get_tag (e) {var ele = e.target; // вызов dt.get () Параметр является значением параметра события функции get_tag dt.get ($ (ele)); } $ ('#del'). Click (function () {// здесь, потому что закрытие создается, объект, который мы нажали в прошлый раз.4. Проверьте эффект
5. Эффект довольно хорош. Но ... вы можете удалить его, нажав на определенный объект. Это беспорядок? Затем изменить это
var del_tag = function () {var Tag = null; return {get: function (e) {tag = e; }, del: function () {$ (Tag) .Remove (); }}} var dt = del_tag (); // назначить del_tag функции dt get_tag (e) {var ele = e.target; $ (ele) .css ('border', '1px solid red') var tagname = ele.tagname; // Определите массив тегов. Используется для хранения объекта, который мы хотим удалить var Tagarr = ['span', 'H1', 'H2', 'H3', 'H4', 'H5', 'H6', 'p']; // Судите, является ли объект, который мы щелкнули, объявлен в нашем массиве, мы можем удалить его. if (tagarr.indexof (tagname)> -1) {// call dt.get () параметр -это значение параметра события функции get_tag target dt.get ($ (ele)); }} $ ('#del'). Click (function () {// Здесь, потому что закрытие создается, объект, который мы нажали в прошлый раз.Проверьте эффект:
Да. Это кажется правильным. Его нельзя удалить, если это не тот объект, который мы определяем.
Хотя это немного отличается от удаленного текста, упомянутого в требованиях. Но пока вы скажете мне, что вы будете использовать эти этикетки для размещения текста, я могу удалить его ...
Позвольте мне подчеркнуть, что наша функция get_tag () не может быть размещена на теле или в HTML Onclick Event. В противном случае текст всей страницы будет удален вообще ...
Функция get_tag () связана с Div, который вы хотите удалить текст.
Приведенная выше статья JS заставляет объект нажимать мышью и нажимает другую кнопку, чтобы удалить код реализации объекта, - это все, которым я поделился с вами. Я надеюсь, что это может дать вам ссылку, и я надеюсь, что вы сможете поддержать Wulin.com больше.