我还是 Jquery Mobile 的新手,绝对是一个很棒的框架。
我希望有人能帮助我。我在加载 ajax 页面后遇到了 jquery 事件的问题。
以下代码将在第一页加载时起作用,但在访问其他页面后它将不起作用。
JS
jQuery("#menu").tap(function () {
jQuery("ul.sub-menu").slideToggle("slow");
});
HTML
<input type="button" id="menu" value="Menu" data-icon="arrow-d"/>
<ul class="sub-menu" data-role="listview">
<li><a href="#">Link 1</a></li>
<li><a href="#">Link 1</a></li>
</ul>
我试过使用 pageinit() 和 pageshow() 但它仍然不起作用。
任何帮助将不胜感激。
我在 wrpdress 中的 header.php 中的代码:
<div data-role="page" id="indexPage" class="blog page">
<script type="text/javascript">
jQuery("div:jqmData(role='page'):last").bind('pageshow', function(){
//your code here - $.mobile.activePage works now
jQuery.mobile.activePage.on('tap', '.menu', function(){
alert('test');
jQuery.mobile.activePage.find('ul.sub-menu').slideToggle('slow');
});
});
</script>
<?php
//Get data theme from theme options
$options = get_option('touch_theme_options');
$theme = $options['color_option'];
?>
<div id="logo">
<a href="<?php echo home_url(); ?>"><img src="<?php bloginfo('url'); ?>/wp-content/themes/converse/images/sofrep-logo-mobile.png" alt="<?php bloginfo('title'); ?>"></a>
</div>
<div data-theme="<?php echo $theme ?>">
<input type="button" id="menu" class="menu" value="Menu" data-icon="arrow-d"/>
<ul class="sub-menu" data-role="listview">
<li><a href="#">Link 1</a></li>
<li><a href="#">Link 2</a></li>
<li><a href="#">Link 3</a></li>
</ul>
</div>