【发布时间】:2013-09-07 09:50:32
【问题描述】:
我有以下代码用于处理按钮的单击事件:
$(document).on("click", '.submit_review_button', function(event, ui) {
var place = $.data(this, "object");
var ttext = $("#review_text").val();
var review = new Object();
review.business_place_id = place._id;
review.review = ttext;
review.user_id = user._id;
// var review = {business_place_id:place.id, review: ttext, user_id: user.id}
$.ajax({
url: site_url + '/reviews/',
type:'POST',
data: review,
success: function(data) {
$.mobile.changePage("show_reviews_page", {
allowSamePageTransition: true,
transition: 'none',
reloadPage: true
});
// initShowReviewsPage();
},
error:function(data) {
alert(1);
}
});
});
我在文档中也有此代码:
$("#show_reviews_page").on('pageinit', function() {
initShowReviewsPage();
});
我知道 pageInit 绑定有效,因为如果我使用它去#show_reviews_page 的话。
但是当点击 .submit_review_button 按钮时,点击事件会触发,页面会发生变化,但 init 不会触发并且页面无效。
知道为什么它不起作用吗?
【问题讨论】:
-
使用
pageshow或pagebeforeshow。 -
你为什么要打开第二个问题?无论如何,正如 Omar 建议的那样,您应该使用这两个事件。 Pageinit 在页面初始化时只触发一次。您可以通过编程方式触发它
标签: javascript jquery jquery-mobile