javascript - jQuery 在每个循环内单击

标签 javascript jquery arrays click each

我想循环我的点击事件,以使代码更短。稍后我可能会有 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'; });
});

这就是我想要的(不起作用)

我的猜测是,each-loop 在 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; });
    });
});

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

最佳答案

我宁愿向您想要将其绑定(bind)到的所有元素添加一个类,例如 class="last-click" 并将绑定(bind)一次定义为:

$(".last-click").on('click', function() {
    last_click = this.id;
}

关于javascript - jQuery 在每个循环内单击,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12861116/

相关文章:

javascript - 为什么不使用字体大小的百分比?

javascript - 立即在 Android WebView 中隐藏 div,而不是在加载网页后

javascript - 在 foreach 循环中调用 JavaScript 函数

arrays - 有没有办法不必两次初始化数组?

java - 我怎样才能解析这个 JSON 并且不出现异常?

php - 按数值排列的 Glob 数组

javascript - JSFiddle 代码在我自己的页面中不起作用

javascript - 为什么 window.open 在 setTimeout <= 1000ms 时不会被阻塞?

php - native 浏览器登录提示

javascript - 如何定期轮询数据,但停止 Firefox 页面加载指示?