您好我们使用jquery mobile和mvc开发Web应用程序。在一个标准中,我需要在页面加载时隐藏div内的按钮。在几个标准我需要显示按钮。
查看
<div id="ContentSerialNumberSearch">
<input type="submit" id="btnSerialScac" name="btnDPSearch" data-theme="d" value="@Resources.ViewScac" data-ajax="false"/>
<input type="submit" id="btnSerialLane" name="btnDPSearch" data-theme="d" value="@Resources.ViewLane" data-ajax="false"/>
</div>
脚本
$(document).on("pageinit", function () {
$('#btnSerialScac').closest('.ui-btn').hide();
$('#btnSerialLane').closest('.ui-btn').hide();
});
以上代码效果很好。但是我使用了pageinit事件,所以即使我访问其他页面,每次执行该函数。这将导致性能问题。所以我尝试下面的代码。
脚本
$( document ).on( "pagecontainershow",'#ContentSerialNumberSearch', function ( event, ui ) {
$('#btnSerialScac').closest('.ui-btn').hide();
$('#btnSerialLane').closest('.ui-btn').hide();
});
所以我认为上述脚本只有在dom中加载特定div时才会执行。但是DOM内的按钮并没有隐藏。我尝试过pageshow,mobileinit事件但没有用。请指导我。
答案 0 :(得分:0)
我不是100%清楚你想要实现的目标,但是要使用showcontainer widget事件进行show,你会这样做:
$("body").on( "pagecontainershow", function( event, ui ) {
$('#btnSerialScac').closest('.ui-btn').hide();
$('#btnSerialLane').closest('.ui-btn').hide();
});
或代替正文,“:mobile-pagecontainer”
$(":mobile-pagecontainer").on( "pagecontainershow", function( event, ui ) {
$('#btnSerialScac').closest('.ui-btn').hide();
$('#btnSerialLane').closest('.ui-btn').hide();
});
这是 DEMO
每次在页面之间导航时,使用pagecontainershow都会隐藏按钮。