在这里的这个例子中,我试图让 H1 标签在它处于移动模式时表现得像一个可点击的按钮。当它返回桌面模式时,我需要确保该按钮不再可点击。
当页面最初以“移动模式”加载时,该按钮可以正常工作,以确保在移动模式下,该按钮仅在每次单击时触发。但是,在调整大小后,它 1. 没有取消绑定点击,并且 2. 它似乎再次触发了多次。
我确定我这样做是无序的或效率低下的。欢迎任何其他更好的方法来做到这一点!
这是我的代码:
<html>
<head>
<style type="text/css">
.mobile-mode { background: pink; }
.mobile-mode h1 { background: yellow; padding: 10px; text-align: center; font-size: 16px; line-height: 20px; cursor: poi
</style>
<script type="text/javascript" src="/_jquery/jquery-1.8.3.min.js"></script>
<script type="text/javascript" src="/_jquery/jquery.debouncedresize.js"></script>
<script type="text/javascript" src="/_jquery/jquery.throttledsize.js"></script>
<script type="text/javascript">
$(window).bind("debounced", function() {
var viewportWidth = $(window).width();
$('.v-width span').html(viewportWidth);
if ( viewportWidth < 640 ) {
$('.device span').html('mobile');
$('body').addClass('mobile-mode');
$('h1').click(function() {
$('.results').append('<li>Hey!</li>');
});
} else {
$('.device span').html('desktop');
$('body').removeClass('mobile-mode');
$('h1').unbind();
}
});
</script>
</head>
<body>
<div class="v-width">viewport width: <span></span></div>
<div class="device">device: <span></span></div>
<h1>Contextual Header Button</h1>
<ol class="results"></ol>
</body>
</html>