将 HTML 输入更改为文本区域并复制所有事件
Change an HTML input to textarea and copy over all the events
我正在尝试将 HTML 输入动态更改为文本区域字段并将其转换回文本字段。我可以使用下面给出的代码正确地做到这一点,但我无法复制文本字段上发生的事件。有没有办法可以将事件从文本字段复制到文本区域?如果有更好的方法,请告诉我。
HTML:
<input id="textbox" type="text" name="fieldValue_0_3" onchange="alert('Hello WOrld');" value="this is a birthdate" tabindex="73">
<a href="#" id="change">Change</a>
<a href="#" id="changetext">Change To TextField</a>
干杯。
这样做
var textbox = $("#textbox"); $("#change").click(function () {
$input = $("#textbox")
$textarea = $("<textarea id='textarea'></textarea>").attr({
id: $input.prop('id'),
name: $input.prop('name'),
value: $input.val(),
onchange: $input.attr('onchange'),
tabIndex: $input.prop('tabIndex')
});
$input.after($textarea).remove(); }); $("#changetext").click(function () {
$textarea = $("#textbox")
$input = $("<input></input>").attr({
id: $textarea.prop('id'),
name: $textarea.prop('name'),
value: $textarea.val(),
onchange: $textarea.attr('onchange'),
tabIndex: $textarea.prop('tabIndex')
});
$textarea.after($input).remove(); });
Fiddle: Demo
注意:最好是两个不同的控件
我正在尝试将 HTML 输入动态更改为文本区域字段并将其转换回文本字段。我可以使用下面给出的代码正确地做到这一点,但我无法复制文本字段上发生的事件。有没有办法可以将事件从文本字段复制到文本区域?如果有更好的方法,请告诉我。
HTML:
<input id="textbox" type="text" name="fieldValue_0_3" onchange="alert('Hello WOrld');" value="this is a birthdate" tabindex="73">
<a href="#" id="change">Change</a>
<a href="#" id="changetext">Change To TextField</a>
干杯。
这样做
var textbox = $("#textbox"); $("#change").click(function () {
$input = $("#textbox")
$textarea = $("<textarea id='textarea'></textarea>").attr({
id: $input.prop('id'),
name: $input.prop('name'),
value: $input.val(),
onchange: $input.attr('onchange'),
tabIndex: $input.prop('tabIndex')
});
$input.after($textarea).remove(); }); $("#changetext").click(function () {
$textarea = $("#textbox")
$input = $("<input></input>").attr({
id: $textarea.prop('id'),
name: $textarea.prop('name'),
value: $textarea.val(),
onchange: $textarea.attr('onchange'),
tabIndex: $textarea.prop('tabIndex')
});
$textarea.after($input).remove(); });
Fiddle: Demo
注意:最好是两个不同的控件