我一直在努力使用以下功能:
$('#pageName').on('pagebeforecreate', function() {
// Compile the page using Handlebars
});
然后我尝试切换on
到live
,尽管 jQuery 文档说不live
推荐使用。现在一切正常。是什么赋予了?
我一直在努力使用以下功能:
$('#pageName').on('pagebeforecreate', function() {
// Compile the page using Handlebars
});
然后我尝试切换on
到live
,尽管 jQuery 文档说不live
推荐使用。现在一切正常。是什么赋予了?
这发生在我身上几次,它与我的元素在执行 javascript 后动态生成有关。
尝试这个:
$('body').on('pagebeforecreate', '#pageName', function() {
// Compile the page using Handlebars
});
你会想要使用一个更好的父元素,body
但选择一个不会改变的元素。
.on()
使用委托的语法(即元素 DOM 层次结构处理发生在其后代上的事件)与您使用的语法不同。(参见http://api.jquery.com/on/#direct-and-委托事件)
$('container-of-#pageName').on('pagebeforecreate','#pageName', function() {
// Compile the page using Handlebars
});
当然,您需要更改container-of-#pageName
为一个选择器,它是#pageName
.
如果你不能这样做,那么你可以使用body
and 这将完全模仿.live()
(但不建议这样做)
$('body').on('pagebeforecreate','#pageName', function() {
// Compile the page using Handlebars
});