无法捕获点击事件

时间:2014-05-08 05:45:37

标签: javascript jquery html handlebars.js

单击图标后,提交按钮将设置为可见。 但是单击该按钮这不起作用(该按钮的类 - 'edit_forum_reply')

    $('.edit_forum_reply').on("click", function (event) {

   alert("NO RESULT");
     });

HTML:

    <td style="display: none;" data-id="{{ replyId }}">

        <div id="summernote2" data-id="{{ replyId }}"></div>
        <a class="btn btn-primary edit-forum-reply" style="display:none;"  data-id="{{ replyId }}">Submit</a>
        <a class="btn"  style="display : none;" href="forum/api/topic/" data-id="{{ replyId }}">Cancel</a>

   </td>

4 个答案:

答案 0 :(得分:5)

你应该在html和javascript函数中使用相同的类元素。在这里,您使用了两个不同的名称:

HTML中的

edit-forum-reply和JS中的edit_forum_reply。使用以下内容即可。

JS:

$(document).on("click",'.edit-forum-reply', function (event) {
    alert("NO RESULT");
});

HTML:

<a class="btn btn-primary edit-forum-reply" style="display:none;"  data-id="{{ replyId }}">Submit</a>

您需要将事件绑定到动态添加的内容。

答案 1 :(得分:2)

  

该按钮的类 - &#39; edit_forum_reply&#39;

你错过了绑定事件选择器中类选择器的点。我也无法在提供的html中看到该类。

您在html edit-forum-reply中使用了连字符,但对于使用下划线 $('.edit_forum_reply').on

的绑定代码
$('.edit-forum-reply').live("click", function (event) {
    alert("NO RESULT");
});

不推荐使用live(),您最好使用on()

$('.edit-forum-reply').on("click", function (event) {
    alert("NO RESULT");
});

如果包含edit_forum_reply类的元素,则需要{/ 3}}使用

$(document).on("click", '.edit-forum-reply', function (event) {
    alert("NO RESULT");
});

答案 2 :(得分:1)

类选择器需要.

$('.edit_forum_reply')

此外,live() is deprecated。请改用 on() (除非您使用的是非常旧版本的jQuery)

答案 3 :(得分:0)

是的,你是对的,Live()已被弃用。

您应该尝试以下代码:

$('.edit-forum-reply').on("click", function (event) {
    alert("NO RESULT");
});