我的函数使用我在输入标签中定义的两个变量
function insert(aTag, eTag) {
var input = document.forms['form'].elements['textarea'];
input.focus();
...
}
...
<input type="button" name="bold" value="bold" onClick="insert('<b>', '</b>')">
该函数会将 aTag 和 eTag 放置在文本区域中选定的部分周围。 由于我想以相同的形式在其他文本区域中使用此函数,因此我尝试在此函数中使用另一个变量。不幸的是,这不起作用。
我尝试了很多变体。概念如下:
function insert(aTag, eTag, selectInput) {
var input = document.forms['form'].elements[selectInput];
...
<input type="button" name="bold" value="bold" onClick="insert('<b>', '</b>', 'thistextarea')">
最佳答案
在 onClick 处理程序中,this
指的是被单击的对象。所以你可以简单地这样做:
<input type="button" name="bold" value="bold" onClick="insert('<b>', '</b>', this)">
该函数将接收对象,而无需从任何地方重新选择它:
function insert(aTag, eTag, input) {
input.focus();
...
}
<小时/>
旁注:不显眼的事件处理程序优于内联。
关于javascript - 使用变量来定义元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26235318/