jQuery单击每个循环内部

Jen*_*ell 0 javascript arrays each jquery click

我想循环我的点击事件,以缩短代码.我稍后可能会有30个这样的值.

我的工作代码

$(document).ready(function () {
    var last_click = '';

    $("#title").click(function() { last_click = 'title'; });
    $("#subtitle").click(function() { last_click = 'subtitle'; });
    $("#test").click(function() { last_click = 'test'; });
});
Run Code Online (Sandbox Code Playgroud)

这就是我想要的方式(不工作)

我的猜测是每个循环都在dom上运行,然后再也没有了,那样点击事件永远不会被触发?

$(document).ready(function () {
    var last_click = '';
    var contents = new Array();
    contents = ['title', 'subtitle', 'test'];

    $.each(contents , function(index, value){
        $("#" + value).click(function() { last_click = value; });
    });
});
Run Code Online (Sandbox Code Playgroud)

如果没有像我想的那样解决,我会感谢一个很好的解决方法.

st3*_*inn 6

我宁愿为要绑定它的所有元素添加一个类,例如class="last-click" ,将绑定定义为:

$(".last-click").on('click', function() {
    last_click = this.id;
}
Run Code Online (Sandbox Code Playgroud)