javascript - 单击以获取附加的 html

标签 javascript jquery html

我有这样的 html:

<a class="link">text</a>
<div class="items"></div>

(function($) {

  var link = $('.link');
  link.click(function(){
    alert('it works!');
  });

  $('.items').each(function() {
    var items = $(this),
        item = $('<div>something inside</div>');

    items.append(item);
    item.click(link.click());
  });

})(jQuery);

我正在尝试为附加的 item 绑定(bind)一个 click 事件。因此,当我们点击 item 时,应该会启动 link

但是我从 jQuery 内部某处收到错误 Uncaught TypeError: Object [object Object] has no method 'apply'

怎么了?

最佳答案

您需要对动态添加的元素进行事件委托(delegate):

items.on('click', item, function(){
     link.click();
});

试听 fiddle :http://jsfiddle.net/qQLLL/

关于javascript - 单击以获取附加的 html,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14932154/

相关文章:

javascript - 如果在 JQuery 模式对话框中单击转义键,如何将用户发送到主页

javascript - 如何选择没有类组合的元素?

javascript - 根据css类限制div的拖动

html - 我如何设置带有图像的单选按钮样式 - 笑脸表示好,悲伤笑脸表示坏?

javascript - 文档开头不允许使用 XML

javascript - 使用 StringRequest 通过 GDScript POST 到 Google Sheet。 GDScript 可以工作,但应用程序停止运行

javascript - 如何在 Javascript 中使用外部文件创建模式弹出窗口?

javascript - 如何检测文本区域或输入类型="text"编辑?

jquery - 在提交输入之前增加 Bootstrap 标签输入的大小

android - 在 Bootstrap 3 上工作的 Bootstrap 所见即所得文本区域编辑器