Сначала я использовал следующий синтаксис в своем коде, но он ничего не сделал без ошибок:
$("div[data-content-tab]").find("input").on("change input paste keyup",function(){
console.info ($(this).val());
})
Я перешел на второй синтаксис и получил следующую ошибку:
$(document).on("change input paste keyup",'div[data-content-tab].find("input")',function(){
console.info($(this).val());
})
Uncaught Error: Syntax error, unrecognized expression: div[data-content-tab].find("input")
Каков правильный синтаксис для синтаксиса оба выше?
Вам необходимо изменить div[data-content-tab].find("input")
на div[data-content-tab] input
, так как .find("input")
является недопустимым синтаксисом
$(document).on("change input paste keyup",'div[data-content-tab] input',function(){
console.info($(this).val());
})
Первый синтаксис тоже подходит, но он не будет работать для динамически добавляемого элемента.
Первый пример выглядит полностью рабочим. Возможно, возникла проблема с вашим html.
$("div[data-content-tab]").find("input").on("change input paste keyup",function(){
console.info ($(this).val());
})
<script src = "https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div data-content-tab='1'><input /></div>
Спасибо. по другому ответу я понял, что это не работает с динамически добавляемыми элементами.
Спасибо. А как насчет первого синтаксиса?