2011-12-18 3 views
1
$(document).ready(function(){ 
    jQuery("#but1").bind("click",function(e){ 
     alert(e.name); 
    }); 

    jQuery("#but1").trigger({name:'Dmy', surname:'My'}); 
}); 

Предупреждение не может передать данные, почему это?!? предупреждение сообщает «undefined».сбой триггера при запуске jQuery

Что я делаю неправильно, почему я не могу передать данные?

JSFiddle здесь.

ответ

2

Это потому, что значения, передаваемые для запуска приходят другие параметры в обработчик щелчка, так что вы не можете получить доступ к нему на объект события. Вам нужно принять дополнительный параметр.

$(document).ready(function(){ 
    jQuery("#but1").bind("click",function(e, data){ 
     alert(data.name); 
    }); 

    jQuery("#but1").trigger('click', {name:'Dmy', surname:'My'}); 
}); 

http://jsfiddle.net/RTXxY/33/

+0

кристально чистый .. спасибо u ... –

1

Вы указали параметр eventName для trigger().

$('#but1').trigger('click', ['Dmy', 'My']); 

ссылка API: http://api.jquery.com/trigger/

+0

почему моя другая форма не так ... Почему я не могу передать его как Ясон ..? Я не хочу передавать его в виде массива .. спасибо за решение ,, он не помогает много –

+0

Вы не добавили eventName ('click' ...) для триггера –

+0

, он все равно дает мне undefined..http: // jsfiddle .net/RTXxY/32/ –

Смежные вопросы