2012-12-13 146 views
0

我有一个按钮,它是由jquery/ajax添加的,我想从它获取它的值(数字),当它被点击。问题是它永远不会燃烧。如果我已经点击了,即使在.ready中,如果在外面它也没有任何反应,它会在负载上触发。单击事件处理程序触发就绪,但不点击

$('.page').on("click", function(event){ 
    alert("clicked"); 
} 

<button class="page">1</button> 

我在这里做错了什么?

回答

2

尝试,而不是:

$('body').on("click", ".page", function(event){ 
    alert("clicked"); 
} 

因为你的元素被动态地添加,则需要根据存在的页面加载时,在元素上的单击事件绑定。理想情况下,你想要一个元素在DOM中比身体更接近,但最坏的情况下,你可以使用它。

docs

的事件处理程序仅结合到当前选择的元素;在代码调用.on()时,页面上必须存在 。 要确保元素存在并且可以选择,请在页面上的HTML标记中的 HTML标记中对元素执行文档就绪处理程序内的事件 绑定。如果新页面被注入页面, 选择元素并附加事件处理程序,当新的HTML被放置到页面中时,页面中的内容为 。

+0

Doh!我其实已经想到了这一点,但是我猜它已经晚了,所以我忘了试试它:)感谢几乎即时的答案! – DominicM

+0

我绑定我的ajax调用点击事件...但它仍然加载文档准备好了吗?任何想法为什么? – aahhaa

+0

@wlin - 不可能从您的评论中分辨出来。创建一个问题,并确保发布您的代码。 – j08691