1

Я знаю, что вы можете добавить несколько обработчиков событий для события «нажмите», как это:Несколько слушателей событий для «входа» события

$("input").bind("click",function(e){ 
     console.log("one"); 
    }) 
$("input").bind("click",function(e){ 
     console.log(two); 
    }) 

Но как его можно добавить несколько обработчиков событий для «ввода» события ? Я попытался это, но, кажется, он получает только последний слушатель события:

$("input").bind("input",function(e){ 
     console.log("one"); 
    }) 
$("input").bind("input",function(e){ 
     console.log("two"); 
    }) 

я получаю только «два» в консоли, когда я что-то типа.

Это результат console.log($._data($("input")[0], "events"));:

Object {click: Array[2], input: Array[1]} 
+2

Прекрасно работает для меня: http://jsfiddle.net/fekpo3a7/ – theonlygusti

+0

Я не уверен, что вы здесь пытаетесь. вы присоединяете одно и то же событие дважды к тому же набору элементов? –

+0

Просто убедитесь, что это 'console.log ('two');', а не 'console.log (two);'. –

ответ

0

У меня не было проблем: проверить это
http://jsbin.com/sisozisoko/1/edit?html,js,output
, но я думаю, что его будет лучше реорганизовать код:

var printOne = function(e){ 
     console.log("one"); 
    }, 
    printTwo = function(e){ 
     console.log("two"); 
    }; 
$("input").on("click", function() { 
    printOne(); 
    printTwo(); 
}); 

ссылка на объект больше не используется: http://www.elijahmanor.com/differences-between-jquery-bind-vs-live-vs-delegate-vs-on/

+0

«привязка к свойствам устарела», input(), focus() и другие связанные с событием ** методы ** - это ярлыки для bind ('blah')! –

+0

bind: function (types, data, fn) { return this.on (типы, null, data, fn); }, –

+0

На самом деле это не очень хорошая практика, потому что в конце она будет использоваться. –