Как передать параметр на событие click в JQuery
Я хочу изменить следующий JS на JQuery. Но я не знаю, как передать параметр на событие click в JQuery. Может кто-нибудь помочь мне, спасибо!
<script type="text/javascript">
function display(id){
alert("The ID is "+id);
}
</script>
<input id="btn" type="button" value="click" onclick="display(this.id)" />
Ответы
Ответ 1
Лучший подход:
<script type="text/javascript">
$('#btn').click(function() {
var id = $(this).attr('id');
alert(id);
});
</script>
<input id="btn" type="button" value="click" />
Но если вам действительно нужно сделать обработчик кликов inline, это будет работать:
<script type="text/javascript">
function display(el) {
var id = $(el).attr('id');
alert(id);
}
</script>
<input id="btn" type="button" value="click" OnClick="display(this);" />
Ответ 2
Вам не нужно передавать параметр, вы можете получить его с помощью метода .attr()
$(function(){
$('elements-to-match').click(function(){
alert("The id is "+ $(this).attr("id") );
});
});
Ответ 3
$('elements-to-match').click(function(){
alert("The id is "+ this.id );
});
нет необходимости обертывать его в объект jquery
Ответ 4
Как DOC говорит, что вы можете передать данные обработчику следующим образом:
// say your selector and click handler looks something like this...
$("some selector").on('click',{param1: "Hello", param2: "World"}, cool_function);
// in your function, just grab the event object and go crazy...
function cool_function(event){
alert(event.data.param1);
alert(event.data.param2);
// access element id where click occur
alert( event.target.id );
}