(js)粘贴时去掉HTML格式
一、IE能够触发onbeforepaste事件,因此可以在该事件中直接改变剪贴板中的内容实现过滤效果
二、谷歌由于不能触发onbeforepaste,先阻止默认行为,通过window.getSelection()获取光标位置,在该位置替换上处理完成的字符
具体实现代码:
// 输入框绑定事件
function addPasteEvent (ele) {
var isIE = isIE();
// 只有IE支持beforepaste
if (isIE) {
ele.addEventListener('beforepaste', function () {
if(window.clipboardData){
var txt = window.clipboardData.getData("text");
if(txt != "" && txt != null){
window.clipboardData.setData('text',val);
}
}
})
} else {
// 绑定粘贴事件
ele.addEventListener('paste', function () {
if (e.originalEvent.clipboardData) {
// 阻止默认行为
e.preventDefault();
var clipboardData = e.originalEvent.clipboardData;
// 获取剪贴板的文本
var text = clipboardData.getData('text');
if (window.getSelection && text !== '' && text !== null) {
// 创建文本节点
var textNode = document.createTextNode(text);
// 在当前的光标处插入文本节点
var range = window.getSelection().getRangeAt(0);
// 删除选中文本
range.deleteContents();
// 插入文本
range.insertNode(textNode);
}
}
});
}
}
function isIE() {
if (!!window.ActiveXObject || 'ActiveXObject' in window) {
return true;
} else {
return false;
}
}
备注:(谷歌粘贴图片可以使用getAsFile() 获取到图片然后上传)
(js)粘贴时去掉HTML格式的更多相关文章
- 在js内生成PDF文件并下载的功能实现(不调用后端),以及生成pdf时换行的格式不被渲染,word-break:break-all
在js内生成PDF文件并下载的功能实现(不调用后端),以及生成pdf时换行的格式不被渲染,word-break:break-all 前天来了个新需求, 有一个授权书的文件要点击下载, 需要在前端生成, ...
- c# 处理js序列化时 datetime返回UTC格式的问题
using Newtonsoft.Json; using System; using System.Collections.Generic; using System.Linq; using Syst ...
- 解决vim粘贴时格式混乱的问题
vim 粘贴时格式混乱的问题,是由于缩进导致的. --------------------------------------------------------------- 原文: http:// ...
- Eclipse编辑jsp、js文件时,经常出现卡死现象解决汇总
使用Eclipse编辑jsp.js文件时,经常出现卡死现象,在网上百度了N次,经过N次优化调整后,卡死现象逐步好转,具体那个方法起到作用,不太好讲.将所有用过的方法罗列如下: 1.取消验证 windo ...
- Eclipse编辑jsp、js文件时卡死现象的解决办法汇总
使用Eclipse编辑jsp.js文件时,经常出现卡死现象,在网上百度了N次,经过N次优化调整后,卡死现象逐步好转,具体那个方法起到作用,不太好讲.将所有用过的方法罗列如下: 1.取消验证 windo ...
- JS时间处理由CST格式转成GMT格式时间
问题描述:js接收java后台的时间数据时,时间格式的CST时间,而js默认的是GMT时间格式,js 需要对这个时间进行处理才能使用,具体处理方法如function dateToGMT(sDate){ ...
- webstorm创建js文件时自动生成js注释
设置webstorm创建js文件时自动生成js注释 settings--Editor--File and Code Temlates 黑色框框里的内容自己填写上去,以下是参考的代码块: /** * @ ...
- 防止vi粘贴时自动添加缩进的方法
使用Xshell连接Linux服务器,使用vi打开文件进行粘贴时,会自动在行首添加很多空格,导致格式错乱.可以用如下方法剞劂 在拷贝前输入:set paste (这样的话,vim就不会启动自动缩进,而 ...
- js粘贴图片并显示
var fromDa; $(function(){ document.getElementById('app').addEventListener('paste', function(e) { if( ...
随机推荐
- 【HANA系列】SAP HANA SQL获取上周的周一
公众号:SAP Technical 本文作者:matinal 原文出处:http://www.cnblogs.com/SAPmatinal/ 原文链接:[HANA系列]SAP HANA SQL获取上周 ...
- MSSQL注入--反弹注入
明明是sql注入的点,却无法进行注入,注射工具拆解的速度异常的缓慢,错误提示信息关闭,无法返回注入的结果,这个时候你便可以尝试使用反弹注入, 反弹注入需要依赖于函数opendatasource的支持, ...
- JavaScript Return Object.Type
var getType = function(obj) { if (obj == null) { return String(obj); } return typeof obj === 'object ...
- [19/06/07-星期五] CSS基础_布局&定位&背景样式
一.固定布局(不适应设备的浏览器的变化) <!DOCTYPE html> <html> <head> <meta charset="UTF-8&qu ...
- 时间处理插件moment.js
monment.js插件 处理时间:http://momentjs.cn/
- 搜索专题: HDU1428漫步校园
漫步校园 Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others) Total Submi ...
- FFmpeg SDK开发模型之中的一个:解码器
简单介绍 本例解说了怎样使用ffmpeg SDK解码媒体文件: 參考源代码是ffmpeg 自带的apiexample.c 一.源代码#include <stdlib.h>#include ...
- 使用GET与POST方式获取html数据
抓取网站数据解析的工作,其中,使用到GET和POST方法获取html数据. 使用GET方式: /** * 使用get方式获取html数据 * * @param strURL(需要访问的网站) * @r ...
- git init error:Malformed value for push.default: simple
git init error:Malformed value for push.default: simple 1.git config --global push.default matching
- man - 格式化并显示在线帮助手册页
总览 man [-acdfFhkKtwW] [-m 系统名] [-p <前处理程序>] [-C <配置文件>] [-M <路径>] [-P <浏览方式> ...