我想你正在尋找的是
<html>
<head>
<link rel="stylesheet" type="text/css" href="http://ajax.googleapis.com/ajax/libs/jqueryui/1.8.18/themes/redmond/jquery-ui.css" />
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.js"></script>
<script src="https://ajax.googleapis.com/ajax/libs/jqueryui/1.8.18/jquery-ui.js"></script>
</head>
<body>
<div class="clickme">Click Me</div>
</body>
<script>
$(document).ready(function(){
var handler = function(){
console.log("clicked");
};
var $window = $(window);
var setClickHandler = function(){
if($window.width() > 900){
var registered = false;
var events = $(".clickme").data("events");
if(events){
var handlers = $(".clickme").data("events").click;
if(handlers){
$.each(handlers, function(index, e){
if(e.handler == handler){
registered = true;
}
});
}
}
if(!registered){
$(".clickme").on("click", handler);
}
} else {
$(".clickme").off("click", handler);
}
};
setClickHandler();
$window.on("resize", setClickHandler);
});
</script>
</html>
它看起來有點複雜,但是這是我能拿出最好的。
這裏我們根據窗口寬度註冊和取消註冊處理程序。
另一種簡單的解決方案是將處理程序中檢查車況
$(document).ready(function(){
var handler = function(){
if($window.width() > 900){
console.log("clicked");
}
};
var $window = $(window);
$(".clickme").on("click", handler);
});
重複這個答案:http://stackoverflow.com/questions/2597152/jquery-window-resize-doesnt-work-on-load – Conner
什麼問題嗎? – undefined
所以你希望點擊事件只有在窗口大小> 900時才能使用? –