事件处理问题JS
Event handling trouble JS
我有一个用html &css,我正在尝试为每个按钮添加选中和取消选中的状态。我正在设置窗口中选择的第一个按钮的状态。像这样Onload函数:
<script type="text/javascript">
window.onload = function() {
var nav = document.getElementById('textContainer');
var navItems = nav.getElementsByTagName('a');
var item = navItems[0];
item.style.color = "#696969";
};
</script>
然后在另一个函数中添加事件处理程序,以便可以选择和取消选择按钮:
<script type="text/javascript">
var nav = document.getElementById('textContainer');
var activeItem = null;
var navItems = nav.getElementsByTagName('a');
for (var i = 0; i < navItems.length; i++) {
navItems[i].addEventListener('click',
function() {
if (activeItem) {
activeItem.style.color = "#b3b3b3";
}
this.style.color = "#696969";
activeItem = this;
//alert(activeItem.innerText);
}, false);
}
</script>
但是我已经添加了这个,第一个按钮,设置在窗口中。Onload功能,不像其他按钮那样取消选择,你必须点击第一个按钮,然后完成后,你可以在任何时候选择和取消选择它。
你能告诉我我哪里做错了吗?提前感谢!
XcodeDev .
在分配事件处理程序之前,尝试用第一个按钮初始化activeItem
:
var navItems = nav.getElementsByTagName('a');
var activeItem = navItems[0];
制作第一个脚本:
<script type="text/javascript">
var activeItem = null;
window.onload = function() {
var nav = document.getElementById('textContainer');
var navItems = nav.getElementsByTagName('a');
var item = navItems[0];
activeItem = item;
item.style.color = "#696969";
};
</script>
然后不要在第二个脚本中重新声明activeItem
相关文章:
- Potree/Three.js测量问题
- Node.js服务器问题-已添加“/"在浏览器中查找文件时
- Node.JS处理重复的可传递依赖关系
- React.js状态问题
- Angular.js常量问题
- 三Js 渲染问题
- InnerHTML创建问题,没有't加载顺序正确,可能存在处理问题
- Node.js模块问题
- React.js处理第三方库安装
- 有没有一种方法可以在IE8中解决我的Rails javascript应用程序.js的问题
- 如何发布单选和复选框选择?表单由php和js处理
- 在iOS应用程序的分析云代码上运行crypto-js的问题
- 使用Backbone.js处理浏览器历史记录
- 为条形图定制Chart new.js的问题
- 附加Packey.js的问题
- 使用jquery从URL中删除查询字符串(处理问题)
- JS onclick问题调用css精灵的图片
- Three.js-渲染问题-动画正在动摇
- Ember.js处理View事件后转换到路由
- 事件处理问题JS