我有以下請求:的jquery/JavaScript的轉換純文本消息轉換爲文本輸入字段
上創建的編輯觸發點擊時轉變成一個文本輸入元件的純文本字段。當離開輸入元素時,文本將被存儲在數據庫中,並且該字段將被轉換回帶有新內容的純文本字段。當在輸入中按ESC時,最近的值被恢復。爲此,我使用以下代碼:
<div id="value"><span id="text">some text</span></div>
<div id="trigger">[EDIT]</div>
<div style="display: none;" id="storage">
<input type="text" id="input" value="some text"/>
</div>
<script type="text/javascript">
$('#trigger').click(function() {
var t = $('#text').detach();
var e = $('#input').detach();
$('#storage').append(t);
$('#value').append(e);
e.focus();
});
$('#input').blur(function() {
var t = $('#text').detach();
var e = $('#input').detach();
if (t.text() != e.val()) {
$.getJSON(...);
}
$('#storage').append(e);
$('#value').append(t);
});
$('#input').keyup(function(event) {
if (event.which == 27) {
$('#input').val($('#text').text());
$('#input')[0].blur();
}
});
</script>
感謝@nnnnnn這現在可以工作。但是,有沒有更簡單的方法來實現這一點使用一些預先存在的API函數?
非常感謝。
不應該'$ {'#someActiveInput'}。focus();'是'$('#someActiveInput')。focus();'? – j08691 2012-03-28 20:38:42
也許有點太晚了(已經工作了12個小時),但我看不到我的版本和你的版本有什麼區別?儘管如此 - 這僅僅是一個例子 - 它是如何工作的 - 所以這不是問題的部分;) – LordHelmchen 2012-03-28 20:44:15
大括號與括號之間的關係。並不是說這是一個解決方案,而只是一個關於這種方式是錯字還是故意的問題。 – j08691 2012-03-28 20:47:03