繁体   English   中英

jQuery单击与javascript对象关联的元素上的触发器

[英]jQuery click trigger on element associated with javascript object

我的页面上有一个部分,其中有几个块。 加载此页面时,我创建了一个数组块[],它为每个存储一个块对象,这些包含有关块的更多信息。

function block(info, DOM) {
    this.id = info["id"];
    this.DOM = DOM;
    this.title = info["title"];
    this.icon = info["icon"];
    this.author = info["author"];
}

DOM字段保存与对象关联的块。 现在,我正在尝试找出在单击块时获取块对象的最佳方法。

$(".block").click(..)

我正在考虑使用上面的^然后使用clicked元素的索引从块[]数组中获取块对象,但是我想知道是否有某种方法可以更直接地链接它阻止中的.DOM字段,就像在块类中具有特定的单击触发器一样。 是否有更清洁的方式来做或者我应该只使用索引? 提前致谢!

是的,这确实是一种做法。

但是,不要为每个块附加事件处理程序,如下所示

$(".block").click(function(e){
  // do event handling
});

您可以尝试事件委派 ,如下所示

你可以使用事件委托

var blocks=[{},{},{}];

$("parent_for_blocks").on('click', '.block', function(e){
  // do event handling
  var index = $(this).index();
  console.log(blocks[index]);  // returns clicked block information
});

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM