Как активировать новые элементы ввода, чтобы связать функцию размытия?

0

как активировать новые элементы ввода для связывания функции размытия?

иногда я привязываю некоторые функции к документу, когда они размываются, фокусируются, нажимают, наводят курсор мыши или другие действия, которые он будет делать в js. но эти привязки не работают для новых добавленных элементов, как я могу привязывать функции к новым добавленным элементам?

<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js"></script>
<div class="box">
    <input type="text" name="a" value="a" />
    <input type="text" name="b" value="b" />
</div>
<button onclick="live_blur()">live_blur</button>
<script type="text/javascript">
    $(function(){
        $('[name]').blur(function (){
            alert(this.value);
        })
    });

    function live_blur(){
        $('.box').append('<input type="text" name="c" value="c" />');
        // how to acitve new inputs when blur and alert value
    }
</script>
Теги:

3 ответа

1
Лучший ответ

Прикрепите событие к document используя функцию включения. Первый аргумент - это событие, второе указывает цель для выполнения события, а последний аргумент - это функция для выполнения (обработчик событий).

   $(document).on('blur', '[name]',function (){
        alert(this.value);
    });

JS Fiddle: http://jsfiddle.net/ZWkEn/

  • 0
    есть ли другой способ сделать это. иногда я использую другие функции, такие как tooltip (), это не может использовать «on» или «live» для запуска события
  • 1
    @ mingfish_004 Я думаю, вы ищете функцию запуска jquery: api.jquery.com/trigger
1

вам нужно добавить прослушиватель событий к вновь созданному элементу

var input = $('<input type="text" name="c" value="c" />'); // create new <input>

$(".box").append(input); // append to your destination

input.on("blur", function () {
    console.log(this.value);
}); // register event listener

http://jsfiddle.net/zvuc6/

  • 0
    меня интересует "зарегистрировать прослушиватель событий", вы можете записать полный демонстрационный код?
  • 0
    вы можете увидеть демо в ссылке jsfiddle, которую я перечислю выше
0

Я могу порекомендовать вам, снова инициализировать вашу подсказку(), после того, как dyn.adding новые элементы

Ещё вопросы

Сообщество Overcoder
Наверх
Меню