我被困在这个案子上。每个textareas应该有自己的工具箱。目前只有一个是活动的(我希望超过2个区域,因此JavaScript应该通过ID识别)
我尝试过使用类似的内容:
function getID(id) {
var $ta = id; }
但是,没有运气。
代码:
HTML
<div id="1">
<input type="button" id="1" class="unselectable" unselectable="on" style="font-weight:bold" name="bold" value="B">
<input type="button" id="1" class="unselectable" unselectable="on" style="font-style: italic;" name="italic" value="I">
<br><textarea id="comment_1" name="comment" aria-required="true"></textarea>
</div>
<div id="2">
<input type="button" id="2" class="unselectable" unselectable="on" style="font-weight:bold" name="bold" value="B">
<input type="button" id="2" class="unselectable" unselectable="on" style="font-style: italic;" name="italic" value="I">
<br><textarea id="comment_2" name="comment" aria-required="true"></textarea>
</div>
JavaScript的:
$(document).ready(function() {
$("input").mousedown(function(e) {
var $ta = $("#comment_"+this.id);
var $startIndex = $("#startIndex"), $endIndex = $("#endIndex");
function reportSelection() {
var sel = $ta.getSelection();
$startIndex.text(sel.start);
$endIndex.text(sel.end);
}
$(document).on("selectionchange", reportSelection);
$ta.on("keyup input mouseup textInput", reportSelection);
$ta.focus();
reportSelection();
e.preventDefault();
switch (this.name) {
case "bold":
$ta.surroundSelectedText("**", '**');
break;
case "italic":
$ta.surroundSelectedText("_", '_');
break;
case "quote":
$ta.surroundSelectedText("{", '}');
break;
}
$ta.focus();
// For IE, which always shifts the focus onto the button
window.setTimeout(function() {
$ta.focus();
}, 0);
});
});
答案 0 :(得分:0)
属性id
应该是唯一的。但是,如果没有$('#comment')
,则只会选择id=comment
的第一个元素。在这种情况下,您可以使用class
代替id
。
答案 1 :(得分:0)