Передача параметров для события click() & bind() в jquery?
Я хочу передать несколько параметров, чтобы нажать () событие в jquery, я пытался следовать, но его не работает,
commentbtn.click(function(id, name){
alert(id);
});
а также если мы используем bind, то как мы это сделаем
commentbtn.bind('click', function(id, name){
alert(id);
});
пожалуйста, помогите!
4 ответа:
посмотреть событие.данные
commentbtn.bind('click', { id: '12', name: 'Chuck Norris' }, function(event) { var data = event.data; alert(data.id); alert(data.name); });
Если ваши данные инициализируются перед привязкой события, то просто зафиксируйте эти переменные в закрытии.
// assuming id and name are defined in this scope commentBtn.click(function() { alert(id), alert(name); });
откуда бы вы взяли эти значения? Если они от самой кнопки, вы могли бы просто сделать
commentbtn.click(function() { alert(this.id); });
если они являются переменной в области привязки, вы можете получить к ним доступ без
var id = 1; commentbtn.click(function() { alert(id); });
если они являются переменной в области привязки, это может изменить перед вызовом щелчка вам нужно будет создать новое закрытие
for(var i = 0; i < 5; i++) { $('#button'+i).click((function(id) { return function() { alert(id); }; }(i))); }
Альтернатива для метода bind ().
используйте метод click (), сделайте что-то вроде этого:
commentbtn.click({id: 10, name: "João"}, onClickCommentBtn); function onClickCommentBtn(event) { alert("Id=" + event.data.id + ", Name = " + event.data.name); }
или, если вы предпочитаете:
commentbtn.click({id: 10, name: "João"}, function (event) { alert("Id=" + event.data.id + ", Nome = " + event.data.name); });
Он покажет окно предупреждения со следующей информацией:
Id = 10, Name = João