2016-10-18 3 views
0

크기를 조정할 때 데스크톱이나 모바일 중 하나를 호출합니다. 나는 각각에서 클릭 기능을 가지고 있으며 데스크톱과 모바일로 바뀌면 둘 다 실행중인 것처럼 보입니다. 모바일 기능이 true이면 데스크톱 기능을 끄고 그 반대도 마찬가지입니다.함수 jQuery 사용 안 함

여기 내 코드의 기본 버전입니다.

Screen_size() 

$(window).resize(function() { 
    Screen_size() 
}); 

function Screen_size(){ 
    var w = $(window).width(); 
    if (w <= 710){ 
     Mobile(); 
    } 

    if (w > 710){ 
     Desktop(); 
    } 
} 

function Mobile(){ 
    console.log('Mobile'); 
    $("#open").click(function(e) { 
     console.log('Open Mobile'); 
    }); 
} 

function Desktop(){ 
    console.log('Desktop'); 
    $("#open").click(function(e) { 
     console.log('Open Desktop'); 
    }); 
} 
+0

자처럼하지 않습니다, 크기 조정 이벤트는 어쩌면, 브라우저 크기를 조정할 때 수천 번 발생 수백만 번, 그리고 매번 또 다른'click' 이벤트 핸들러를 추가하고 추가합니다. – adeneo

+0

감사합니다. 좋은 옵션을 제거하는 것이 좋습니다. –

+0

창 크기를 확인하는 것이 실제로 정확하지는 않지만 27 인치 화면에 작은 브라우저 창을 열어서 휴대 전화에 있다고 생각할 수 있습니다. 어쨌든, 실제로 X/Y 문제입니다. 당신이 클릭 할 때 창 크기를 확인하는 것입니다. -> https://jsfiddle.net/adeneo/gpyeyqgb/ – adeneo

답변

3

창에 대한 필요 크기를 조정 .. 그냥 클릭 이벤트이

$("#open").on('click', Screen_size); 
 
    
 
function Screen_size(){ 
 
    var w = $(window).width(); 
 
    (w <= 710) ? Mobile() : Desktop() ; 
 
} 
 

 
function Mobile(){ 
 
    console.log('Open Mobile'); 
 
} 
 

 
function Desktop(){ 
 
    console.log('Open Desktop'); 
 
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<button id="open">Click</button>