在silverstripe當內TextareaField添加選項卡我有一個需要內TextareaField使用標籤 - 目前,將導航從現場消失,但我想它在那裏寫一個標籤來代替。在silverstripe CMS按下
更新基於下面我把這個添加代碼註釋...
_config.yml
TextareaField:
extensions:
- TextareaFieldExtension
TextareaFieldExtension.php
class TextareaFieldExtension extends DataExtension {
public function onBeforeRender() {
Requirements::customScript(<<<JS
$(document).delegate('#textbox', 'keydown', function(e) {
var keyCode = e.keyCode || e.which;
if (keyCode == 9) {
e.preventDefault();
var start = $(this).get(0).selectionStart;
var end = $(this).get(0).selectionEnd;
// set textarea value to: text before caret + tab + text after caret
$(this).val($(this).val().substring(0, start) + "\t" + $(this).val().substring(end));
// put caret at right position again
$(this).get(0).selectionStart =
$(this).get(0).selectionEnd = start + 1;
}
});
JS
);
}
}
我知道onBeforeRender被稱爲因爲我使用了一個死亡('hello world')來檢查。但是,在任何TextareaField中使用Tab都沒有改變。我哪裏錯了?
http://stackoverflow.com/questions/6637341/use-tab-to-indent-in-textarea –
@GavinBruce所以我已經將該代碼放入銀色條紋包裝,但沒有影響 – Barry