问题描述
的同时将文本框的内容复制到字段中。
我正在尝试在用户键入时将文本框的内容同时复制到div中。这是JSfiddle上的代码
面临的错误是,在div中复制的值的长度始终比文本框的长度小1。我在脚本中犯了什么错误?
解决方法
改用
keyup
。
$(\"#boxx\").keyup(function(event) {
var stt = $(this).val();
$(\"div\").text(stt);
});
当按下键并想要释放键时传送文本时,会出现“ 2”。
, keyup和keypress事件适用于键盘输入,但是如果使用鼠标右键单击并将某些内容粘贴到文本框中,则不会获取值更改。您可以在输入事件中使用bind
来注册键盘输入和粘贴事件,如下所示:
$(\"#textbox1\").bind(\'input\',function () {
var stt = $(this).val();
$(\"#textbox2\").val(stt);
});
, updated2ѭ事件发生在text6ѭ元素中的文本更新之前。您可以延迟复制操作来解决此问题。即使是0毫秒的延迟也足以在元素更新后进行复制操作:
$(\"#boxx\").keypress(function() {
var $this = $(this);
window.setTimeout(function() {
$(\"div\").text($this.val());
},0);
});
在这里更新了小提琴。
, $(\"#title\").keypress(function() {
var $this = $(this);
window.setTimeout(function() {
$(\"#slug-url\").val($this.val().toLowerCase().replace(/ /g,\'-\'));
},0);
});
在使用\'-\'替换空格并将文本更改为小写字母后,使用@FrédéricHamidi \'方法生成seo友好的url。
, 使用keyup并同时更改两者。
$(\"#boxx\").on(\'keypress change\',function(event) {
var data=$(this).val();
$(\"div\").text(data);
});
这是例子
http://jsfiddle.net/6HmxM/785/
, $(\"#boxx\").keyup(function() {
var $this= $(this);
window.setTimeout(function() {
$(\"div\").text($this.val());
},0);
});
这项工作正常。
复制也有效f9enter code here