Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/478.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/75.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 函数参数导致光标跳转到。keyup_Javascript_Jquery_Html_Google Chrome_Jquery Ui - Fatal编程技术网

Javascript 函数参数导致光标跳转到。keyup

Javascript 函数参数导致光标跳转到。keyup,javascript,jquery,html,google-chrome,jquery-ui,Javascript,Jquery,Html,Google Chrome,Jquery Ui,我有一个函数,它假设通过diff textarea传递数据,但是,光标一直跳到文本的末尾 function KeepReferencesInSync(referenceInput) { $(referenceInput).keyup(function () { $("input[name=Reference]").val($(this).val()); } )} 您可以尝试这种方法。这不是最先进的技术,但很管用 //创建区域/输入/元素列表 变量zoneList=[$'zon

我有一个函数,它假设通过diff textarea传递数据,但是,光标一直跳到文本的末尾

function KeepReferencesInSync(referenceInput) {
  $(referenceInput).keyup(function () {
    $("input[name=Reference]").val($(this).val());
  }
)}

您可以尝试这种方法。这不是最先进的技术,但很管用

//创建区域/输入/元素列表 变量zoneList=[$'zone1',$'zone2',$'zone3']; //对于每个区域 $.eachzoneList、functionindex、zoneForEvent{ //附加键控事件 区域预览。在“键控”上,功能{ //获取触发事件的根区域信息 var rootZoneId=this.id; var rootZoneValue=this.value; //在每个区域上循环 $.eachzoneList、functionindex、zoneDestination{ //如果区域目标不是根区域 如果zoneDestination.id!==rootZoneId{ //复制根元素的值 zoneDestination.valrootZoneValue; } }; }; }; 我找到了解决办法

我需要记录光标位置并设置[setSelectionRange],以确保光标不会跳转。见下文

function KeepReferencesInSync(referenceInput) {
    $(referenceInput).on('keyup', function () {

        //get selection position
        var start = this.selectionStart,
        end = this.selectionEnd;

        $("input[name=Reference]").val($(this).val());

        //set the range
        this.setSelectionRange(start, end);
    })
}

你能解释一下吗?请提供一个提示,用户将根据单击的单选按钮更改参考文本区域。这样做的目的是让textarea看起来像一个单独的字段,通过不同的选项传输数据。在其他浏览器上似乎工作得很好。问题在于Chrome。设置输入字段的值确实会移动光标,您必须使用选择API记住光标位置,并在修改输入后将其重置。请格式化您的代码,让我们在您之后清理,以便我们可以尝试帮助您,这有点粗鲁。