Jeditable在我點擊編輯某些文本時,在文本區域的實際文本週圍插入額外的空格。我如何修剪或實際解決這個問題?Jeditable在文本區域的文本週圍插入額外的空格
回答
你實際上可以傳遞一個函數來修剪你要編輯的字符串。在您的設置中使用此設置:
data : function(string) {return $.trim(string)},
submit: "Save"
嗯,這很奇怪。 Jeditable沒有遇到這個問題。
哦,jQuery有一個微調功能:
$.trim(" hello, how are you? ");
找到了原因。它是瘋了!
就地編輯將插入空間周圍的文字,如果你的HTML像下面
<div id="inplace_edit_this">
This is some text that will be edited in-place.
</div>
,它會周圍文本中沒有插入空間,如果你的HTML看起來像這樣
<div id="inplace_edit_this">This is some text that will be edited in-place.</div>
我想知道是什麼原因造成的這可能是因爲瀏覽器和Javascript解釋HTML的方式不同。
這可能是一箇舊消息,但我面臨着類似的問題:我不知道爲什麼,但保存編輯後的文本輸入後,下次點擊它時,11個空格(每次)都是插入可編輯文本之前。
經過大量的試驗和錯誤,我終於通過編輯線〜239在jeditable.js文件解決了這個問題:
content.apply(form, [input_content, settings, self]);
,取而代之的是:
content.apply(form, [$.trim(input_content), settings, self]);
(每Baloneysammitch的建議)
請注意,我幾乎不知道我在做什麼,但這似乎工作!也許有人比我更技能可以解釋那些額外的11個空間可能來自哪裏...
這是一段時間以來,任何人回答這個職位,但我遇到了同樣的問題,並認爲我會添加我的兩個美分值。這個問題只發生在Firefox和safari中。 IE和Chrome似乎沒有這個問題。
我嘗試了Symmitchry在第239行的$.trim()
的建議,但這對我無效。所以我做了一些回溯和想通了,這個問題首先出現的圍繞線176線:
self.revert = $(self).html();
由於這是一個jQuery的電話,這讓我不知道是否有與jQuery的是一個問題與上述瀏覽器進行交互。不知道...
我發現通過添加一個$.trim()
在這一點上,事情工作正如我所料。
我確實發現,由於Chirantan的做法,html的佈局如果空間在那裏或不在,會產生差異。
我在我的應用程序中用JEditable 1.7.1修復了這個問題。該解決方案實際上與Symmitchry的解決方案相同。
從行204開始,有一個代碼塊決定了JEditable應該如何加載其數據。
/* set input content via POST, GET, given data or existing value */
var input_content;
if (settings.loadurl) {
...
} else if (settings.data) {
...
} else {
...
}
content.apply(form, [input_content, settings, self]);
加入jQuery的修剪功能(在我的版本排239)的最後一行之前),所以您將獲得:
/* set input content via POST, GET, given data or existing value */
var input_content;
if (settings.loadurl) {
...
} else if (settings.data) {
...
} else {
...
}
try {
input_content = input_content.trim();
}
catch(e) {
// DO NOTHING
}
content.apply(form, [input_content, settings, self]);
我之所以把它放在一個try-catch是因爲當你使用帶有textarea的JEditable或輸入文本input_content基本上是一個字符串。當你使用一個select時,input_content是一個對象,並且不會很好地被修剪。
這樣做可能更美觀,而不是使用try-catch,但它可以完成任務。
如果格式設置爲空格分配,則會發生這種情況。 jEditable尊重它,並且不會修改你的內容。例如,在VS IDE中,自動格式會產生巨大的空白,其中渲染HTML是很好的。
如果使用jQuery的調用jEditable如果你想OT確保前剛剛修剪DOM是沒有空白的任何地方
$('#BatchTable tbody td').each(function() {
$(this).html($.trim($(this).html()));
});
oTable = $('#BatchTable').dataTable({
"bJQueryUI": true
});
在我的情況的解決方法是刪除390線的</input>
文件 jQuery的。 jeditable.js。 前行:var input = $('<input type="hidden"></input>');
熱線,工作對我來說:var input = $('<input type="hidden">');
- 1. Jeditable文本區域寬度
- 2. 確定按鈕和Textarea周圍的Jeditable額外空間
- 3. 插入文本到文本區域
- 4. 插入文本到文本區域
- 5. 插入文本在文本區域在插入位置
- 6. 插入文本區域
- 7. 能夠從文本區域插入文本到表格
- 8. 文本區域中的空格
- 9. 空白周圍linebreaked文本
- 10. javascript在文本區域的特定位置插入文本
- 11. 插入文本到文本區域的鏈接
- 12. jquery的插入文本到文本區域
- 13. 在jQuery中使用.load()插入文本到文本區域
- 14. 在文本框中的文本前插入空格
- 15. 寫入文件插入額外的空格和斜線
- 16. 刪除Listbox周圍的額外空間
- 17. 刪除額外的空白周圍iframe?
- 18. 容器周圍額外的空白處
- 19. 從wysihtml5文本區域插入iframe
- 20. 上傳並插入文本區域
- 21. 我無法插入文本區域值
- 22. 如何防止用戶在文本區域輸入空格
- 23. 在xcode中的選定文本週圍插入雙引號
- 24. 文本輸入與文本區域
- 25. 輸入文本/文本區域尺寸
- 26. 如何通過C#將文本插入文本區域與Forms.WebBrowser
- 27. 如何刪除td元素中的單元格內容中的文本週圍的額外空間?
- 28. 如何在mysql中插入額外的文本?
- 29. 問題在將文本插入光標位置的文本區域時
- 30. 清空IE中的文本區域
太棒了。這非常有用。 – Jake 2012-12-21 19:31:00
說真的。我將它添加到了我的基礎對象中,使得我所有的可用對象都可用,現在我可以根據需要設置頁面的格式。真的很有用... – Jake 2012-12-21 19:34:05
這真是一個很好的答案!謝謝。 – 2013-02-08 13:40:40