使用jQuery事件和日期字段的strage行为

时间:2018-04-23 13:26:53

标签: javascript jquery events input

上下文

我试图回答问题Enable copy/paste on html5 date field,该问题询问如何从一个<input type='date'>字段复制并粘贴到另一个字段。

问题

当我想出一些有效的东西时,我遇到了一个奇怪的怪癖。您必须首先选择日期框,然后在copy事件触发之前取消选择(单击其他任何位置)。 paste事件也是如此。

重现问题的步骤是:

  1. 选择第一个日期输入
  2. 输入日期
  3. 取消选择日期输入(点击任意位置)
  4. ctrl + c
  5. 选择第二个日期字段
  6. 取消选择(点击任意位置)
  7. 控制 + v
  8. 我尝试了什么

    除了以下代码段中的代码外,我还尝试使用bind方法,on方法和delegate方法,并且遇到了同样的问题他们。

    有谁知道这是为什么?它与Focus有关吗?

    更新#1

    我使用的是Chrome版本66.0.3359.117(官方版本)(64位)。

    &#13;
    &#13;
    var dateClipboard;
    
    $("input[type='date']").on("copy", function(){
     dateClipboard = $(this).val();
     alert("copied");
    })
    
    $("input[type='date']").on("paste", function(){
     if(dateClipboard != ''){
    	$(this).val(dateClipboard); 
      alert("pasted");
     }
    })
    &#13;
    <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.10.0/jquery.min.js"></script>
    
    <input type="date" name="test" id="test">
    <input type="date" name="test" id="test2">
    &#13;
    &#13;
    &#13;

0 个答案:

没有答案