禁用simple_form中的复制/过去功能

时间:2016-06-29 20:21:11

标签: javascript ruby-on-rails simple-form

我正在尝试在simple_form的输入字段中禁用复制/粘贴功能。我知道在simple_form上下文之外已经问过before。我根据this post的想法在表单中添加了一个类,并在application.js的函数中使用了该类。这目前还没有产生所需的功能 - 在simple_form中有一种特殊的方法吗?

(我知道不建议篡改默认浏览器功能,但是“手动”复制的操作会与我尝试使用我的应用程序实现的目标相吻合。)

在视图中:

<%= simple_form_for @word, url: lesson_word_exposition_path(current_lesson, @word.word), html: { class: "disablecopypaste"}, method: :patch do |f| %>
  <%= f.input :term_given_by_student, label: "Enter the term exactly as above:" %><br>
  <%= f.button :submit, class: 'btn btn-primary' %>
<% end %>

来自application.js:

$(document).ready(function () {
    $('input.disablecopypaste').bind('copy paste', function (e) {
       e.preventDefault();
    });
  });

1 个答案:

答案 0 :(得分:3)

您可以尝试使用用户选择的css属性。

.unselectable : {
  -webkit-user-select: none;  
  -moz-user-select: none;    
  -ms-user-select: none;      
  user-select: none;          
}


$(document).ready(function () {
    $('input.disablecopypaste').toggleClass('unselectable')
  });