본문 바로가기
IT_Developers/Javascript

JavaScript - 사파리에서 body, HTML에 클릭(click) 이벤트가 바인딩 되지 않는다.

by 고코더 2019. 5. 22.

safari click <html> <body>에 되지 않네요


안녕하세요.
고코더입니다.


브라우저는 제조사 마다 
웹사이트를 분석하는 각자의 특징을 가지고 있습니다. 

개발시에 크로스브라우징을 체크하지 않으면
클레임에 걸리게 됩니다.

최근에 모니터 불량화소 체크 사이트를 만들면서
(monitor.gocoder.net)특이한 케이스를 발견했습니다.
상식이었는데 제가 모르던 사실일 수도 있지만 

▼ 아래 소스를 우선 확인해보겠습니다.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
<html >
<head>
<script src="http://code.jquery.com/jquery.min.js"></script>
<script type="text/javascript">
    $('html').on('click'function(){
        alert('사파리에서 안됨');
    });
    $('body').on('click'function(){
        alert('사파리에서 안됨');
    });
 
    $('body > div').on('click'function(){
        alert('사파리에서 가능');
    });
    
</script>
</head>
<body>
<div>
 
</div>
</body>
</html>
cs


▼ 해당 태그에 클릭을 바인딩 할일은 특수한 경우 아니면
쓸일이 없지만 처럼 click을 사용할 경우에는
사파리에서만 작동이 되지 않습니다.
아이폰 그리고 아이패드 유저에게 되지가 않습니다.

$('html').on('click', function(){
$('body').on('click', function(){

▼ 해당 태그에 클릭을 바인딩 할일은 특수한 경우 아니면
쓸일이 없지만 처럼 click을 사용할 경우에는
사파리에서만 작동이 되지 않습니다.
$('body > div').on('click', function(){


마무리


html에 클릭 이벤트를 넣는게 표준이 아닌가 보네요



댓글