没有onclick的Javascript高亮效果
Javascript highlight effect without onclick
有没有一种方法可以更改div背景色(高亮显示),而不必在每次输入onclick中调用函数?
这是我的Javascript函数:
<script type="text/javascript">
function highlight(element) {
element.parentNode.style.backgroundColor = '#FF9900';
}
function removeHighlight(element) {
element.parentNode.style.backgroundColor = '';
}
</script>
这是HTML:
<div class="form-item">
<label>Title:</label>
<input class="form-text Title"
type="text"
onblur="removeHighlight(this);"
onfocus="this.value='';highlight(this);"
onselect="this.value='';"
onclick="this.value='';highlight(this);"
value="english"
name="Title">
<input class="form-text translations"
type="text"
onselect="this.value='';"
onclick="this.value='';"
value="translate"
name="title_translate">
</div>
在这里,我必须在每次输入onclick或onselect中调用该函数,这有时会与页面上的其他Javascript函数冲突。
您可以匿名将其绑定到特定元素:
document.getElementById('foo').onclick = function() {
this.parentNode.style.backgroundColor = '#FF9900';
}
但是,您将被迫使用id
(比编写20次相同的onclick
代码要好)。
如果您使用像jQuery这样的JavaScript库,则此代码可以简化很多:
$('div.form-item input').select(function() {
$(this).parent().css('background-color', '#FF9900');
});
$('div.form-item input').blur(function() {
$(this).parent().css('background-color', 'auto');
});
这将处理<div>
中的所有<input>
元素。不需要HTML中的任何内容。这一切都是在JS端完成的。
相关文章:
- 当DIV中的文本高亮显示时,如何获得DIV中Span的值?(Javascript)
- 在字符串列表中搜索任何出现的单词,如果单词的第一个字符匹配,则高亮匹配单词.Javascript正则表达式
- javascript高亮文本字符串
- 如何限制javascript高亮显示函数的使用次数
- Javascript:搜索和高亮显示包括HTML标记
- 如何在JavaScript中实现html语法高亮显示
- 使用Javascript从列表中键入时高亮显示单词
- 用于大型字符串的 Javascript 语法高亮显示器
- 语法高亮 Javascript 在 LyX 中,插入子程序列表>
- Javascript/jQuery如何将Load Spinner附加到语法高亮插件
- 使用Javascript高亮显示带有子菜单的当前页面链接
- Javascript库对OCaml代码的语法高亮显示有很好的支持
- 单击列值时高亮显示表中的特定行.需要javascript帮助
- JavaScript RegEx语法高亮显示
- 高亮显示和取消高亮显示文本时,使用javascript管理mousedown事件
- JavaScript语法高亮显示
- 用于代码语法高亮显示的Javascript库
- 我如何改变高亮Javascript大括号/括号匹配在Aptana 3插件到Eclipse 3
- 正确语法高亮javascript在phpstorm
- 只替换具有类高亮javascript的子字符串