微信內網頁安卓點選圖片放大與IOS點選失效處理方法
阿新 • • 發佈:2019-02-18
// 遞迴搜尋當前元素所有父級,看是否包含有a標籤且有href值
const searchIsHavaTagA = function (currentEle) {
// 如果一直往上層找,到body還沒找到就說明沒有了
if (currentEle.nodeName === 'BODY') {
return false;
}
let parent = currentEle.parentElement;
if (parent.nodeName === 'A' && parent.getAttribute('href')) {
return true;
} else {
return searchIsHavaTagA(parent);
}
}
$(document).on('click', 'img', function (e) {
try {
// 父級裡有a標籤且href不為空的,不處理
if (!searchIsHavaTagA(e.target)) {
e.preventDefault();
}
} catch (error) {
console.log('阻止圖片預設事件失敗');
}
})
const searchIsHavaTagA = function (currentEle) {
// 如果一直往上層找,到body還沒找到就說明沒有了
if (currentEle.nodeName === 'BODY') {
return false;
}
let parent = currentEle.parentElement;
if (parent.nodeName === 'A' && parent.getAttribute('href')) {
return true;
} else {
return searchIsHavaTagA(parent);
}
}
$(document).on('click', 'img', function (e) {
try {
// 父級裡有a標籤且href不為空的,不處理
if (!searchIsHavaTagA(e.target)) {
e.preventDefault();
}
} catch (error) {
console.log('阻止圖片預設事件失敗');
}
})