0

我想在一个地方制作“绑定”效果,所以我需要将要输入的文本动态重写为 span 元素。我为此使用onchange,但它不起作用。

HTML

<input type="text" id="binding" onChange="binding()"/>
<span class="binding"></span>

JavaScript

function binding(){
    $(".binding").html() = $("#binding").val();
}

所以在jsfiddle中有一个例子:

http://jsfiddle.net/63Fgb/4/

任何帮助,将不胜感激。

4

3 回答 3

2

这个例子:

$("#binding").keyup(function(){
   $(".binding").html($(this).val());
});
于 2012-06-01T09:36:16.670 回答
1

当元素在更改后失去焦点时会触发 change 事件。

您想绑定到 keyup 和 paste 事件。

此外,html()是一个函数,而不是一个属性。您需要将数据作为参数传递给它,而不是分配它。

另外,基于 JS Fiddle,如果你想使用 jQuery 方法,你需要使用 jQuery 库,而不是 Mootools 库。

$('#binding').bind("keyup paste", function () {
    $(".binding").html($(this).val());
});

活的例子

最后,如果您希望人们输入文本而不是 HTML,那么您应该使用text(),而不是html().

​</p>

于 2012-06-01T09:34:47.573 回答
0

onchange仅在您以某种方式“接受”输入(切换焦点)时才调用。你应该试试onkeydown,,,onkeyuponkeypress

于 2012-06-01T09:35:39.050 回答