![](/img/trans.png)
[英]JavaScript and CSS working in Dreamweaver but not in the browser
[英]Javascript Selected Formatting not working in browser while in dreamweaver it does
我在使用這個腳本時遇到了一些問題。 應該將 html 標簽添加到文本框中的選定文本區域。 在 Dreamweaver 中實時查看時,它工作得很好。 正是它應該如何。 在瀏覽器中它什么都不做。
有什么想法嗎?
使用onclick="formatText(content,'b')"
調用 function。
function formatText(el, tag) {
var selectedText = document.selection ? document.selection.createRange().text
: el.value.substring(el.selectionStart, el.selectionEnd);
alert(selectedText);
if (selectedText != '') {
var newText = '<' + tag + '>' + selectedText + '</' + tag + '>';
el.value = el.value.replace(selectedText, newText);
document.getElementById(el).focus();
} else {
if (document.getElementById(tag).value == "0") {
document.getElementById(tag).value = "1";
document.getElementById(el).value = document.getElementById(el).value
+ "<" + tag + ">";
document.getElementById(el).focus();
} else {
document.getElementById(tag).value = "0";
document.getElementById(el).value = document.getElementById(el).value
+ "</" + tag + ">";
document.getElementById(el).focus();
}
}
}
您可能想要研究使用的是 jQuery,它具有內置功能來完成您想要做的大部分事情。 值得你花時間學習。 (參見http://jquery.com/ )
話雖如此,我對你的代碼進行了一些編輯。 您需要將“onclick”事件更改為“onmousedown”,將其保留為“onclick”將刪除您選擇的文本焦點,並且您的方法將不起作用。我不確定您的 else 語句應該做什么,所以我根本沒有更新。 希望這對一些人有所幫助。
干杯。
<script type="text/javascript">
function formatText( el , tag )
{
var selectedText = "" + document.getSelection();
if ( selectedText.length > 0 )
{
var textWithTag = "<" + tag + ">" + selectedText + "</" + tag + ">";
el.innerHTML = el.innerHTML.replace( selectedText , textWithTag );
}
}
</script>
<div id="test">Something</div>
<div onmousedown='formatText( document.getElementById("test") , "span style=\"color:red\"" );'>Click</div>
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.