手机浏览 RSS 2.0 订阅 膘叔的简单人生 , 腾讯云RDS购买 | 超便宜的Vultr , 注册 | 登陆
浏览模式: 标准 | 列表Tag:onclick

IPAD 上的Safari 中的一些小问题

今天在为ipad上的一个图片加上点击效果,在safari浏览器里一切正常,但到了ipad上,点击效果就死活出不来。
折腾了很久我才发现,我原来的触发的一个效果是写在a标签上的,也就是说,它是一个链接,然后onclick效果就起作用了。
于是我CreateElement了一个a,为它加上了onclick效果,果然,起作用了。。

------------
事实上很多人都和我说,div是有onclick事件的,嗯,我用Safari也测试确实有,但就是在ipad上无法实现。好吧。我承认我烂,可能是。。。。
可是我都一一在代码中测试了。
附上我那恶心至极的代码 (这是其中的一段,纯备份了):

JavaScript代码
  1. function ee(elem,popLayer) {  
  2.     var e = document.createElement("a"),scb=popLayer[0].querySelector('.showCaptionBody');
  3.     e.setAttribute("href""###");  
  4.     e.style.cursor = "pointer";  
  5.     e.style.position = "absolute";  
  6.     e.style.zIndex = 9;  
  7.     e.style.display = "block";  
  8.     e.style.right = "3px";  
  9.     e.style.bottom = "3px";  
  10.     e.style.width = "16px";  
  11.     e.style.height = "16px";  
  12.     e.style.backgroundImage = "url(data:image/gif;base64,R0lGODlhEAAQAIAAAMzMzP///yH5BAAHAP8ALAAAAAAQABAAAAIahI+py+0RHILy0Aoug7zH5HnPV2mSOWLqihUAOw==)";  
  13.     e.onclick = function() {  
  14.         var s = document.createElement("img");  
  15.         s.src = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAABx0RVh0U29mdHdhcmUAQWRvYmUgRmlyZXdvcmtzIENTNXG14zYAAAElSURBVEiJ1ZZNioQwEIVfhiYXqtmIIIokJxaRuEgOYM7hCdxas2gMbWKrDJ1FF9SmKr7PpJ4/gpmRMx4AIISYcogz8+9PDuHXeERE+oSoEMIfAtZ1/YT+LuId5AXk2MFuyOu67lJKiaIokvqWRVFASpnU3wKYeZdEBO89yrJMemVZwnsPIkp6iEUBTACmZVk4TiJiAExEp7XX3PSY+XoGzjnUdQ3vPaqqAoBw5865y7ndcpG1Fk3TwPunvYkI1tpbrvu3i+6uvQVQSoVjAZ5H1LYtxnG8BJy6iJl34sYYGGOCu5RSh9e8BcR+1loH8WEYQn0YhgDRWt9/DuKFm3jf90mv7/sAOQOczmCe58P6Fl3XnfYTwFe+7LIDBDN/9zdZ5P5t+QPZ7357iXsw1QAAAABJRU5ErkJggg==";  
  16.         scb.innerHTML = elem.innerHTML.split("\n").join("<br />");  
  17.         scb.removeChild(scb.querySelector("a"));  
  18.         scb.appendChild(s);  
  19.         popLayer[0].style.display="block";  
  20.         popLayer[0].querySelectorAll(".closeShow")[0].onclick = function(){  
  21.             popLayer[0].style.display="none";  
  22.         }  
  23.     };  
  24.     elem.appendChild(e);  
  25.     delete e;  
  26. }  

阿强说,是因为div没有宽度和高度,我说是100%,他说100%的话就是0。
好吧,我不是前端,我开始的时候没明白,但我没有时间来处理,我也没有空设定固定宽度,因为要考虑横竖屏。。所以先用临时方法替代了。

Tags: ipad, safari, javascript, onclick