0

有一个问题要问你 javascript 大师。我正在创建一个由几个不同的文本输入字段组成的侧边栏工具。此工具的目的是在模板上编辑副本。我试图将输入的数据传递到 onchange 字段中,但是在将数据转储到我的 js 对象中时遇到了问题。这有点像我的想法:

$('myInputField').(function(){
      $(this).onChange(){
          // write to variable X
}
});

本质上,我想让我在输入中输入的内容被实时模仿,然后我可以解析对我的数据库的更改。

4

4 回答 4

1
$('#myInputField').(function(){
      $(this).onkeyup(){
          x = this.value;
      }
});

或更简洁地说:

$('#myInputField').onkeyup(){
    x = this.value;
});
于 2012-04-09T16:58:32.613 回答
1

您只是在寻找myInputField该事件处理程序中的值吗?像这样的东西?:

$('myInputField').(function(){
  $(this).onChange(){
      x = $(this).val();
  }
});

this如果已经是 jQuery 对象,我不记得了。如果是,那么这应该可以工作,并且可能会跳过一些开销:

x = this.val();

this此外,如果曾经被不同的上下文覆盖,或者如果您还想引用其他字段等,您可以使用普通的 jQuery 选择器显式引用该字段:

x = $('myInputField').val();
于 2012-04-09T17:01:03.550 回答
1

问题是,在 IE 上,该onchange事件不适用于 INPUT 元素。因此,您必须根据要执行onkeypress的操作来使用 或事件。onblur

JS方式:

document.getElementById('myInputField').onblur = function() {
    var x = this.value
}

jQuery方式:

$('#myInputField').blur(function() {
    var x = this.value
})
于 2012-04-09T17:54:53.660 回答
0

输入字段上的简单 keyup 事件是否就足够了?

jQuery:

$('textarea').keyup(function() {
    $('#foo').html($(this).val());
});​

HTML:

<textarea></textarea>
<div id="foo"></div>

jsFiddle 示例

于 2012-04-09T17:05:05.470 回答