IOS點選事件失效

2022-08-22 10:54:10 字數 457 閱讀 3040

問題描述:

當使用委託給乙個元素新增click事件時,如果事件是委託到 document 或 body 上,並且委託的元素是預設不可點選的(如 div, span 等),此時 click 事件會失效。

可以使用下面的**在 ios 中進行測試。

ios click bug testclick me!

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

1. 將 click 事件直接繫結到目標元素(即 .target)上

2. 將目標元素換成 或者 button 等可點選的元素

3. 將 click 事件委託到非 document 或 body 的父級元素上

4. 給目標元素加一條樣式規則 cursor: pointer;

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

ios點選事件失效

當使用委託給乙個元素新增click事件時,如果事件是委託到 document 或 body 上,並且委託的元素是預設不可點選的 如 div,span 等 此時 click 事件會失效。解決辦法有 4 種可供選擇 1 將 click 事件直接繫結到目標 元素 即 target 上 2 將目標 元素換成...

ListView點選事件監聽失效

如果listview中的單個item的view中存在checkbox,button等view,會導致listview.setonitemclicklistener無效,事件會被子view捕獲到,listview無法捕獲處理該事件.解決方法 其一 在checkbox button對應的view處加 a...

ListView點選事件監聽失效

如果listview中的單個item的view中存在checkbox,button等view,會導致listview.setonitemclicklistener無效,事件會被子view捕獲到,listview無法捕獲處理該事件.解決方法 其一 在checkbox button對應的view處加 a...