2017-02-24 60 views
0

還有就是衆所周知的問題與IOS,它不承認click事件,除非該元素的CSS cursor: pointer;如何獲取所有具有jQuery附加的「click」事件的元素?

不過,我不希望所有點擊元素,以在桌面上的這種行爲,所以我在尋找一種方式來添加此只有在檢測到IOS時纔會發送css。

​​3210

不知道如果這甚至是可能的,但我真的想找到一個不用擔心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

你的意思呢?

$('*[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

搜索東西有點擊事件整個DOM將是昂貴的。假設你知道你要檢查click事件的存在的子集,你可以做這樣的事情...

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

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