单击jquery按钮时出现问题

时间:2011-04-12 14:27:46

标签: javascript jquery

我在jquery点击事件中遇到问题。

我的网页涉及通过javascript创建一个按钮并为按钮分配一个类(称之为A)。现在我想检测该按钮的点击,我已经为它编写了以下代码:

 $(".A").click( function () {

    // do something

 });

令我惊讶的是,这个点击事件永远不会被调用。

但是当我在网页上静态制作按钮时(在设计时),相同的代码可以正常工作。

如果动态创建按钮,是否有不同的方法将按钮单击与jquery绑定?

4 个答案:

答案 0 :(得分:3)

您需要使用$.live

$(".A").live('click', function () {

   // do something

});

答案 1 :(得分:0)

查看live() jquery方法,自动将事件连接到新元素。或者,在创建新按钮时,附加新的单击事件。

var newbutton = $('<input type="button" value="click me"/>');
somediv.append(newbutton);
newbutton.click(yourhandler);

答案 2 :(得分:0)

在按钮存在之前,您的事件处理程序会在页面加载时触发。

在创建按钮后重置事件处理程序,或使用.live进行后期绑定:

$(".A").live('click', function () {
   // do something
});

现在处理程序将适用于将来创建的.A

答案 3 :(得分:-1)

你必须使用jquery的live-function!与点击功能不同,它会监视dom操作。你可以想象它比.click()稍慢。

$('.clickme').live('click', function() {
  // Live handler called.
});

菲利克斯