【问题标题】:Calling click event on dynamic anchor在动态锚点上调用点击事件
【发布时间】:2016-06-02 20:12:50
【问题描述】:

我正在动态构建页面并在运行时构建锚点.. 这是HTML代码

htmlElement = '<div class="product_card col-lg-3 col-md-4 col-sm-6 col-xs-6" id="' + productValue['product_id'] + '">' +
'<a href="#" class="productDetails">' +
'<img src="' + productImage + '"' + ' width="258" height="202" alt="' + productValue['e_name'] + '"  class="img-responsive"/>
</a>' +'</div>'

这些代码我都试过了

//display product info
$(document).delegate("click",'a.productDetails',function(){
    alert('dddd');
});

//display product info
$('.product_card').on("click",'a',function(){
    alert('dddd');
});

  $('a.productDetails').live("click",function(){
    alert('dddd');
});

没有任何效果!!

【问题讨论】:

  • jsfiddle.net/oLk8w5m4 这对我有用,当我使用 .on('click', function() {
  • 您必须从现有的对象/元素进行委托,例如$('body').on('click', '.product_card a', function()...)
  • 你的委托顺序不对,先是选择器,然后是事件。您的开启是正确的,但它需要附加到已经存在的东西上,例如文档或正文。 Live 已弃用,不应使用,您应该继续使用。
  • 所有尝试都不适用于我的代码!!!少了点东西我拿不到!!

标签: jquery events dynamic click


【解决方案1】:

Anchor 标签的创建顺序和事件在其上的使用需要谨慎处理。首先需要在事件处理之后完成创建锚标记的功能。

     $(document).ready(function(){
           methodToCreateAnchor();
           $('.product_card').on("click",'a',function(){
    alert('dddd');
});
});

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2011-07-23
    • 2013-10-06
    • 1970-01-01
    • 2016-05-03
    • 1970-01-01
    • 1970-01-01
    • 2012-05-17
    • 1970-01-01
    相关资源
    最近更新 更多