你如何使html中的多个按钮指向相同的JS函数

时间:2016-02-19 19:47:52

标签: javascript jquery html

我想' div#欢迎来到' &#div;#熟悉a'指向这个JS代码:

    e.preventDefault();
    var itemClicked = $(this);
    var id = itemClicked.attr("id");
    id = id.replace(/\D/g,'');
    slider.goToSlide(id);
    return false;

现在我有这个:

$('div#Welcome a').click(function(e){

和此:

$('div#Familiarize a').click(function(e){

单击以转到指定的代码。我想知道是否有一种方式,我希望与此相关的任何东西都可以在不必每次都能创建新功能的情况下。我可以穿上某些标签的ID吗? 提前谢谢。

3 个答案:

答案 0 :(得分:5)

将代码块设置为命名函数并将其传递给事件处理程序:

function myEventHandler(e) {
    e.preventDefault();
    var itemClicked = $(this);
    var id = itemClicked.attr("id");
    id = id.replace(/\D/g,'');
    slider.goToSlide(id);
    return false;
}

$('div#Familiarize a').click(myEventHandler);
$('div#Welcome a').click(myEventHandler);

或者@ mark.hch和@Huangism指出,你也可以使用逗号分隔的选择器:

$('div#Familiarize a, div#Welcome a').click(myEventHandler);

答案 1 :(得分:1)

您可以使用逗号分隔多个选择器。

$('div#Familiarize a, div#Welcome a').click(function(e) {
    e.preventDefault();
    var itemClicked = $(this);
    var id = itemClicked.attr("id");
    id = id.replace(/\D/g,'');
    slider.goToSlide(id);
    return false;
});

虽然为简化起见,我建议将所有相关的DIV作为一个公共类,并在选择器中使用它:$('div.tab a').click(...)

答案 2 :(得分:0)

您还可以为每个div提供相同的类,并将处理程序附加到该类。

<div class="thisclass">

$('.thisclass').click(function (e) {

}