小男孩‘自慰网亚洲一区二区,亚洲一级在线播放毛片,亚洲中文字幕av每天更新,黄aⅴ永久免费无码,91成人午夜在线精品,色网站免费在线观看,亚洲欧洲wwwww在线观看

分享

iOS Safari 中點擊事件失效的解決辦法

 菁清siso 2016-08-18

問題描述

當(dāng)使用委托給一個元素添加click事件時,如果事件是委托到 documentbody 上,并且委托的元素是默認(rèn)不可點擊的(如 div, span 等),此時 click 事件會失效。

可以使用下面的代碼在 iOS 中進行測試。

<!DOCTYPE html>  
<html>  
<head>  
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width">
    <title>iOS click bug test</title>

    <style>
        .container {
        }

        .target {
            display: block;
            text-align: center;
            margin: 100px 30px 0;
            padding: 10px 0;
            border: 1px solid #ccc;
        }
    </style>
</head>  
<body>  
    <div class="container">
        <div class="target"> Click Me! </div>
    </div>

    <script src="http://code.jquery.com/jquery-2.1.4.min.js"></script>
    <script type="text/javascript">
        // 或者 $(document).on('click', ....)
        $('body').on('click', '.target', function (e) {
            alert('click');
        });
    </script>
</body>  
</html>  

解決辦法

解決辦法有 4 種可供選擇:

  1. click 事件直接綁定到目標(biāo)?元素(??即 .target)上
  2. 將目標(biāo)?元素?fù)Q成 <a> 或者 button 等可點擊的?元素
  3. click 事件委托到?????非 documentbody 的??父級元素上
  4. 給?目標(biāo)元素加一條樣式規(guī)則 cursor: pointer;

推薦后兩種。從解決辦法來看,?推測在 safari 中,不可點擊的元素的點擊事件不會冒泡到父級元素。通過添加 cursor: pointer 使得元素變成了可點擊的了。

    本站是提供個人知識管理的網(wǎng)絡(luò)存儲空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點。請注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購買等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點擊一鍵舉報。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多