2017-02-24 4 views
0

잘 요소는 CSS를 cursor: pointer;"클릭"이벤트가 jQuery와 연결된 모든 요소를 ​​가져 오는 방법은 무엇입니까?

그러나 나는이를 추가 할 수있는 방법을 찾고 있도록 바탕 화면에이 동작을 모든 클릭 할 수있는 요소를하지 않으을하지 않는 한이 click 이벤트를 인식하지 못하는 IOS에 문제가 알려져있다 IOS가 탐지 된 경우에만 css.

if (navigator.userAgent.match(/(iPod|iPhone|iPad)/)){ 
    var elements = /* here I need help to get all elements that have click event 
    attached, taking into account that some of them could be added dynamically */ 
    elements.css('cursor', 'pointer'); 
} 

모르겠다. 가능하다해도 IOS 클릭에 대해 걱정하지 않는 좋은 방법을 찾고 싶습니다.

UPDATE :

$(document).ready(function(){ 
    $('body').on('click', 'div.hasClick', function(){ 
     // do something 
    }); 
    /* much more similar click event attached to many elements*/ 
    if (navigator.userAgent.match(/(iPod|iPhone|iPad)/)){ 
     var elements = /* here I need help to get all elements that have click event 
     attached, taking into account that some of them could be added dynamically 
*/ 
     elements.css('cursor', 'pointer'); 
    } 
}); 
+0

왜 그냥 JQuery와 사용 CSS 미디어 쿼리를 사용하여 클래스를 추가 ... 이런 일을 할 수 있습니까? – azs06

답변

0

당신이 의미 마십시오 이 아이디어는 같은 것입니까? 이벤트를 클릭하여이 일에 대한 전체 DOM을 검색

$('*[onclick]').css("cursor","pointer");
div { 
 
    margin: 10px; 
 
    background: blue; 
 
    width: 20px; 
 
    height: 10px; 
 
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.0.0/jquery.min.js"></script> 
 
<div onclick="javascript:void(0)"></div> 
 
<div onclick="javascript:void(0)"></div> 
 
<div id="onclk"></div>

+0

아니요. 질문에 약간의 수정 사항을 추가했습니다. 클릭 이벤트는 속성이 아닌 jquery로 추가됩니다. –

0

비용이 많이 드는 될 것입니다. 당신이 클릭 이벤트의 존재를 확인하려는 부분 집합을 알고 가정하면,

let elements = Array.from(document.querySelectorAll("button")); 
let elementsWithEvent = []; 

elementsWithEvent = elements.filter((element)=>{ 
    return $(element).data('events').click ? true : false; 
});