2010-06-09 76 views
2

我有一个代码,更改div的html做一个按钮。当我做一个点击处理程序动态按钮,没有任何反应jQuery动态按钮点击处理程序

$('#signinup').html("<button id=\"login_submit\">Sign In</button>"); 

而且处理程序:

$('#login_submit').click(function() { 
    alert("Works!"); 
}); 
+0

你确定,你添加你的处理程序后,该按钮被创建? – Anpher 2010-06-09 20:20:57

+0

点击处理程序代码何时与HTML代一起运行?另外,你是否尝试过绑定或活动事件处理程序方法? – 2010-06-09 20:20:14

回答

9

See the working demo :)

使用live()方法:

$('#login_submit').live('click', function() { 
    alert("Works!"); 
}); 

live()方法将事件的处理程序附加到与当前选择器匹配的所有元素,现在或将来。

+0

该演示确实如广告中那样工作,虽然它不使用'live'... – joshperry 2010-06-09 20:26:05

+0

@joshperry:感谢您通知我,实际上我发布了一个错误的工作链接,现在已更新。谢谢 – Sarfraz 2010-06-09 20:28:08

+0

谢谢,接受。 – nebkat 2010-06-09 20:29:10

3

.live不总是工作。 很多次,但最近我崩溃的情况下,我更新/加载按钮动态执行某些操作。就像你看到确认朋友请求按钮在Facebook好友请求弹出式弹出窗口。