如何仅在搜索栏中启用复制和粘贴功能?

时间:2018-05-24 18:39:43

标签: javascript jquery html5

我使用下面的脚本来停止复制,粘贴,f12,ctr + u等,并禁用鼠标右键单击。

    <script> var message=&quot;Copyright 2017-2018&quot;;

document.onkeydown = function(e) {
  if(e.ctrlKey &amp;&amp; e.shiftKey &amp;&amp; e.which==73)
    return false;

  if (e.which == 123)
    return false;

  if (e.ctrlKey &amp;&amp; ((e.which == 85) || (e.which == 65) || (e.which == 88) || (e.which == 67) || (e.which == 2) || (e.which == 3) || (e.which == 123) || (e.which == 83))) {
    alert(message);
    return false;
  }
}

// right click code
var isNS = (navigator.appName == &quot;Netscape&quot;) ? 1 : 0;
if (navigator.appName == &quot;Netscape&quot;)
  document.captureEvents(Event.MOUSEDOWN || Event.MOUSEUP);

function mischandler() {
  return false;
}

function mousehandler(e) {
  var myevent = (isNS) ? e : event;
  var eventbutton = (isNS) ? myevent.which : myevent.button;
  if ((eventbutton == 2) || (eventbutton == 3)) return false;
}

document.oncontextmenu = mischandler;
document.onmousedown = mousehandler;
document.onmouseup = mousehandler;

//select content code disable  alok goyal
function killCopy(e) {
  return false
}

function reEnable() {
  return true
}

document.onselectstart = new Function(&quot;return false&quot;)
if (window.sidebar) {
  document.onmousedown = killCopy
  document.onclick = reEnable
}
    </script>

我想在我的搜索栏上仅启用复制和粘贴功能。以下是我的搜索条形码。

<div class="search-input">
<input aria-label="Search this blog" autocomplete="off" name="q" placeholder="हिंदी में ही लिखें" value="">
</div>

是否有任何方法只能在搜索栏上启用复制和粘贴功能。

1 个答案:

答案 0 :(得分:0)

正如评论中所提到的,禁用复制粘贴是一个坏主意,因为它会让用户感到困惑。我的剪贴板仍然有效吗?或者此网站已损坏?此外,无论如何都可以通过开发人员工具激活它。

但是,如果您仍想继续:

window.onload = function() {
  Array.prototype.slice.call(document.querySelectorAll("input:not(#search)"))
 .forEach(function(object){object.onpaste = function(e) {e.preventDefault();}})
}
<input id="search" placeholder="Search">

<input>
<input>
<input>

基于Disable copy paste in HTML input fields?