在Internet Explorer中,我可以使用clipboardData对象来访问剪贴板.我怎样才能在FireFox,Safari和/或Chrome中执行此操作?
我必须使用JQuery来获取文本区域的粘贴事件.我尝试了以下代码,但它不起作用......
$(document).ready(function()
{
$('#txtcomplaint').keyup(function()
{
TextCounter('txtcomplaint','counterComplaint', 1000 );
})
$('#txtcomplaint').onpaste(function()
{
alert()
//TextCounter('txtcomplaint','counterComplaint', 1000 );
})
});
Run Code Online (Sandbox Code Playgroud) 我正在使用 contenteditable div,当我尝试粘贴带有样式的内容时,假设只复制纯文本,但它也获得了样式,有谁知道在我粘贴时如何强制将其转换为纯文本或者任何人有更好的解决方案
这是我的代码:
<div contenteditable="true">
This text can be edited by the user.
</div>
Run Code Online (Sandbox Code Playgroud)
感谢另一位成员的帮助,我成功实现了一个JS方法,该方法能够粘贴excel数据并将其拆分为HTML文本框表格(参见线程).
我现在面临的问题是这只在Chrome中有效,而IE10和IE11都标记了以下错误:
"无法获取未定义或空引用的属性'getData'."
该函数的第二行(下面)抛出此错误:
function (event) {
var input_id = $(this).attr("id");
var value = event.originalEvent.clipboardData.getData('text/plain'); //ERROR in IE
/* ... */
event.preventDefault(); // prevent the original paste
}
Run Code Online (Sandbox Code Playgroud)
想知道是否有人可以看到手头的问题,为什么Chrome满足而IE不满足.
我有一个textarea,粘贴到我想要的textarea
可以用Javascript完成吗?
我在Javascript中从Intercept paste事件中获取了以下代码.
我需要在粘贴之前得到它,否则我会丢失我需要保存的"\n"字符.
它可以很好地拦截具有id的一个元素的剪贴板数据.我需要它来处理所有输入元素.当我尝试使用jQuery来获取输入元素时.
任何帮助表示赞赏.
var paster = function () {
var myElement = document.getElementByTagName('pasteElement');
myElement.onpaste = function(e) {
var pastedText = undefined;
if (window.clipboardData && window.clipboardData.getData) { // IE
pastedText = window.clipboardData.getData('Text');
} else if (e.clipboardData && e.clipboardData.getData) {
pastedText = e.clipboardData.getData('text/plain');
}
processExcel(pastedText); // Process and handle text...
return false; // Prevent the default handler from running.
};
}
Run Code Online (Sandbox Code Playgroud) 我使用以下代码进行验证,它只允许使用字母和数字以及一些允许的字符。
$('input').bind('keypress', function (event) {
var regex = new RegExp("^[a-zA-Z0-9%()#@-_& ]+$");
var key = String.fromCharCode(!event.charCode ? event.which : event.charCode);
if (!regex.test(key)) {
event.preventDefault();
return false;
}
});
Run Code Online (Sandbox Code Playgroud)
我遇到的唯一问题是,如果您复制和粘贴任何不允许的字符,那么这并不能阻止它。我知道我在某个地方看到过这样做,它可以防止粘贴字符。有什么想法吗?
我使用contentedittable字段作为用户输入,以便我可以利用文本格式.不幸的是,我发现当用户粘贴到该字段时,会有大量不必要的HTML随之而来.我只想要剪贴板中的纯文本.
为什么会这样?!
一个截断的例子:
<div><br></div><div><span class="Apple-style-span" style="font-family: Arial, 'Liberation Sans', 'DejaVu Sans', sans-serif; font-size: 13px; line-height: 12px; color: rgb(0, 0, 0); "><table style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; font-size: 13px; vertical-align: baseline; background-image: initial; background-attachment: initial; background-origin: initial; background-clip: initial; background-color: transparent; border-collapse: collapse; -webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; background-position: initial initial; background-repeat: initial initial; "><tbody style="margin-top: 0px; margin-right: 0px; …Run Code Online (Sandbox Code Playgroud) 我使用以下html输入元素来收集Html页面中的产品数量,但用户仍然可以继续并手动输入负值.例如:我选择了文本框并输入-100并且输入字段在没有抱怨的情况下接受了它.
如何防止用户在Html输入元素中输入0和非负值?
<input type="number" id="qty" value="" size="3" min="1" />
Run Code Online (Sandbox Code Playgroud)