在做html5项目的时候有个需求是要拖动一个图片,但是又不要用户长时间按着弹出保存框。首先想到的就是在点图片的时候阻止默认事件的发生:

js停止冒泡·

function myfn(e){

window.event? window.event.cancelBubble = true : e.stopPropagation(); }

js阻止默认行为

function myfn(e){
window.event? window.event.returnValue = false : e.preventDefault();
}

防止冒泡

w3c的方法是e.stopPropagation(),IE则是使用e.cancelBubble = true·

stopPropagation也是事件对象(Event)的一个方法,作用是阻止目标元素的冒泡事件,但是会不阻止默认行为。什么是冒泡事件?如在一个按钮是绑定一个”click”事件,那么”click”事件会依次在它的父级元素中被触发 。stopPropagation就是阻止目标元素的事件冒泡到父级元素。

阻止默认行为

w3c的方法是e.preventDefault(),IE则是使用e.returnValue = false;·

preventDefault它是事件对象(Event)的一个方法,作用是取消一个目标元素的默认行为。既然是说默认行为,当然是元素必须有默认行为才能被取消,如果元素本身就没有默认行为,调用当然就无效了。什么元素有默认行为呢?如链接<a>,提交按钮<input type=”submit”>等。当Event 对象的 cancelable为false时,表示没有默认行为,这时即使有默认行为,调用preventDefault也是不会起作用的。

还有一个比较强悍的return false

javascript的return false只会阻止默认行为,而是用jquery的话则既阻止默认行为又防止对象冒泡。

话说回来在项目中无论使用哪种方法动达不到效果;没办法该页面结构,吧img外面套个div,在img上阻止默认事件,拖动div动从而实现拖动图片的目的。但是在阻止图片默认事件时还是阻止不了,查资料找到了  -webkit-touch-callout:none;即为禁用长按页面时的弹出菜单但是用在项目中一点用没有。于是接着找终于找到了pointer-events: none;点击穿透,这里有一篇博友写的介绍http://www.cnblogs.com/92cz/p/5787693.html  我就不再详细说了,最后没用js就把问题解决了太高兴啦,本项目还有另一种解法就是把图片弄成背景图,但是项目已经在测试了 只能用比较简单,保证效果的方法。

html 移动端关于长按图片弹出保存问题的更多相关文章

  1. 前端jquery实现点击图片弹出大图层(且滚动鼠标滑轮图片缩放)

    <img src="{$vo.photo}" height="50px" onclick="showdiv({$i});"> & ...

  2. 改善用户体验之wordpress添加图片弹出层效果 (插件 FancyBox)

    下面说说在改善用户体验之wordpress添加图片弹出层效果.效果图如下:   像这篇文章如何在百度搜索结果中显示网站站点logo? 文章内有添加图片,没加插件之前用户点击图片时,是直接_black打 ...

  3. jQuery效果之封装一个文章图片弹出放大效果

    首先先搭写一个基本的格式: $.fn.popImg = function() { //your code goes here } 然后用自调用匿名函数包裹你的代码,将系统变量以变量形式传递到插件内部, ...

  4. 基于jQuery图片弹出翻转特效代码

    分享一款基于jQuery图片弹出翻转特效代码.这是一款基于jQuery+HTML5实现的,里面包含六款不同效果的鼠标点击图片弹出特效下载.效果图如下: 在线预览   源码下载 实现的代码. html代 ...

  5. Android ListView 长按列表弹出菜单

    Android ListView 长按列表弹出菜单 设置长按菜单 listView.setOnCreateContextMenuListener(new View.OnCreateContextMen ...

  6. asp.net导出excel并弹出保存提示框

    asp.net导出excel并弹出保存提示框 2013-07-12 | 阅:1  转:78   |  分享  腾讯空间 人人网 开心网 新浪微博 腾讯微博 搜狐空间 推荐给朋友 举报          ...

  7. CEfSharp下载文件 弹出保存框,实现 IDownloadHandler 接口

    上节讲了如何将CefSharp集成到C#中,但集成后将web界面链接进ChromiumWebBrowser后,但web界面上下载附件的功能不好使咯. 百度了半天还是没搞定,只能去看官网的Excampl ...

  8. POI导出Excel不弹出保存提示_通过ajax异步请求(post)到后台通过POI导出Excel

    实现导出excel的思路是:前端通过ajax的post请求,到后台处理数据,然后把流文件响应到客户端,供客户端下载 文件下载方法如下: public static boolean downloadLo ...

  9. 使用CEfSharp之旅(3)下载文件 弹出保存框 IDownloadHandler

    原文:使用CEfSharp之旅(3)下载文件 弹出保存框 IDownloadHandler 版权声明:本文为博主原创文章,未经博主允许不得转载.可点击关注博主 ,不明白的进群191065815 我的群 ...

随机推荐

  1. oracle 11gR2 如何修改 private ip

    1.1    修改 private ip1.1.1  确保crs集群是打开的可以用olsnodes –s 检查集群的状态./olsnodes -sP570a ActiveP570b Active1.1 ...

  2. 29.QT主窗口加widget

    运行效果 widget布局showwidget.h #ifndef SHOWWIDGET_H #define SHOWWIDGET_H #include <QWidget> #includ ...

  3. 案例分析:大数据平台技术方案及案例(ppt)

    大数据平台是为了计算,现今社会所产生的越来越大的数据量,以存储.运算.展现作为目的的平台.大数据技术是指从各种各样类型的数据中,快速获得有价值信息的能力.适用于大数据的技术,包括大规模并行处理(MPP ...

  4. SQL Server 汉字转拼音字母

    /* 汉字转拼音首字母 */ create function fun_getPY(@str nvarchar(4000)) returns nvarchar(4000) as begin declar ...

  5. 解决Ubuntu不能全屏问题

    解决虚拟机中Ubuntu14.04系统安装VM Tools 时出现以下信息: 请确保您已登录客户机操作系统.在客户机中装载CD驱动器启动终端,使用tar解压缩安装程序,然后执行vmware-insal ...

  6. Centos7 minimal 系列之rabbitmq安装(八)

    一.安装Erlang 由于RabbitMQ依赖Erlang, 所以需要先安装Erlang. 这种方法网站访问不了 wget https://packages.erlang-solutions.com/ ...

  7. 【AnjularJS系列6 】 过滤器

    第六篇,过滤器 AngularJS 过滤器可用于转换数据: 过滤器 描述 currency 格式化数字为货币格式. filter 从数组项中选择一个子集. lowercase 格式化字符串为小写. o ...

  8. JS怎样计算过关分数

    一个游戏,前20关是每一关自身的分数,//21-30关每一关是10分//31-40关,每一关是20分//41-49关,每一关是30分//50关,是100分 <!DOCTYPE html> ...

  9. CF487E Tourists(圆方树+堆+链剖)

    本题解并不提供圆方树讲解. 所以不会圆方树的出门右转问yyb 没有修改的话圆方树+链剖. 方点的权值为点双连通分量里的最小值. 然后修改的话圆点照修,每一个方点维护一个小根堆. 考虑到可能被菊花卡死. ...

  10. BeanUtils(前端赋值给后台,忽略空属性)

    package com.drn.core.util; import java.beans.PropertyDescriptor; import java.lang.reflect.Method; im ...