博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

动态添加事件及区分IE和其他浏览器的JS脚本

Posted on 2009-10-21 18:34  冰山鳕鱼  阅读(413)  评论(0)    收藏  举报

 

 1var selectedCategory = null;
 2    var tt = function(CategoryID) {
 3        return function() {
 4            //alert(CategoryID); //可以为外部定义的一个执行函数;
 5            if (window.attachEvent) {
 6                if (selectedCategory != null{
 7                    if (selectedCategory != document.getElementById(CategoryID)) {
 8                        selectedCategory.parentNode.className = "NotSelectedLi";
 9                    }

10                }

11                selectedCategory = document.getElementById(CategoryID);
12                selectedCategory.parentNode.className = "SelectedLi";
13            }

14            else {
15                if (selectedCategory != null{
16                    if (selectedCategory != document.getElementById(CategoryID)) {
17                        selectedCategory.className = "NotSelectedLi";
18                    }

19                }

20                selectedCategory = document.getElementById(CategoryID);
21                selectedCategory.className = "SelectedLi";
22            }

23        }

24    }

25    
26    function CreateCategoryStyle() {
27        var aLinks = document.getElementById("sidebar").getElementsByTagName("a");
28        for (var i = 0; i < aLinks.length; i++{
29            if (aLinks[i].target == "mainFrame"{
30                aLinks[i].setAttribute("id""ChildCategory" + i.toString());
31                aLinks[i].parentNode.setAttribute("id""ChildCategoryLi" + i.toString());
32                var CategoryID = aLinks[i].id;
33                var CategoryLiID = aLinks[i].parentNode.id;
34                if (window.attachEvent) {
35                    //IE 的事件代码
36                    if (selectedCategory == null{
37                        selectedCategory = document.getElementById(CategoryID);
38                        selectedCategory.parentNode.className = "SelectedLi";
39                    }

40                    aLinks[i].attachEvent('onclick', tt(CategoryID));
41                }

42                else {
43                    //其它浏览器的事件代码
44                    if (selectedCategory == null{
45                        selectedCategory = document.getElementById(CategoryLiID);
46                        selectedCategory.className = "SelectedLi";
47                    }

48                    aLinks[i].addEventListener("click", tt(CategoryLiID),false);
49                }

50            }

51        }

52    }