Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/376.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 向下键/单击时缩进文本区域_Javascript_Jquery_Html_Css_Textarea - Fatal编程技术网

Javascript 向下键/单击时缩进文本区域

Javascript 向下键/单击时缩进文本区域,javascript,jquery,html,css,textarea,Javascript,Jquery,Html,Css,Textarea,我的文本区域上方有一个标签 当有人在文本区域上单击或按下键时,我试图让文本进入标签的边缘,这样看起来文本区域实际上就是从这里开始的 我现在看到的是它找到标签的宽度,然后在文本区域的开头添加适当数量的空格 Firefox和Safari非常接近标签。但是chrome增加了一些额外的空间 谁能帮我找到一个更合适的方法 function cursorPosition(data) { var labelWidth = $(data).siblings('[class=indent]').widt

我的
文本区域上方有一个标签

当有人在文本区域上单击或按下键时,我试图让文本进入标签的边缘,这样看起来文本区域实际上就是从这里开始的

我现在看到的是它找到标签的宽度,然后在文本区域的开头添加适当数量的空格

Firefox和Safari非常接近标签。但是chrome增加了一些额外的空间

谁能帮我找到一个更合适的方法

function cursorPosition(data) {
    var labelWidth = $(data).siblings('[class=indent]').width(),
        spaces = Math.round(labelWidth / 3.6) + 1,
        sVar = "";
    for (var x = 1; x <= spaces; x++) {
        sVar += " ";
    }
    if (!data.value.match(/^[ ]{'+spaces+'}/)) {
        data.value = sVar + data.value.replace(/^\s+/, "");
    }
    if (data.selectionStart < spaces) {
        data.selectionStart = spaces;
    }
}
函数光标位置(数据){
var labelWidth=$(数据).sippines('[class=indent]').width(),
空格=数学圆(标签宽度/3.6)+1,
sVar=“”;

对于(var x=1;x您可以使用CSS来实现:

text-indent: 165px;

如果您想要jQuery版本:

var indentWidth = $('textarea.indent').prev('div.indent').width();
$('textarea.indent').css('text-indent', indentWidth+'px');

您可以使用CSS来实现:

text-indent: 165px;

如果您想要jQuery版本:

var indentWidth = $('textarea.indent').prev('div.indent').width();
$('textarea.indent').css('text-indent', indentWidth+'px');

您可以使用CSS来实现:

text-indent: 165px;

如果您想要jQuery版本:

var indentWidth = $('textarea.indent').prev('div.indent').width();
$('textarea.indent').css('text-indent', indentWidth+'px');

您可以使用CSS来实现:

text-indent: 165px;

如果您想要jQuery版本:

var indentWidth = $('textarea.indent').prev('div.indent').width();
$('textarea.indent').css('text-indent', indentWidth+'px');

非常棒@jammykam!这正是我要找的。Youda man非常棒@jammykam!这正是我要找的。Youda man非常棒@jammykam!这正是我要找的。Youda man非常棒@jammykam!这正是我要找的。Youda man