• 对.CLICK()脚本方法的无语


    <script type="text/javascript">
                        $(document).ready(function () {
                            var myAccountTab = document.getElementById("menuUl");
                            var myAccountTabLi = myAccountTab.getElementsByTagName("li");
                            var modifyContentdiv = $("#subTabs>div");
                            for (i = 0; i < myAccountTabLi.length; i++) {
                                myAccountTabLi[i].onclick = function () {
                                    $(this).addClass("selected").siblings().removeClass("selected");
                                    for (j = 0; j < myAccountTabLi.length; j++) {
                                        if (myAccountTabLi[j] == this) {
                                            $(modifyContentdiv[j]).siblings().hide();
                                            $(modifyContentdiv[j]).fadeIn("fast");
                                        }
                                    }
                                }
                            }
                        });
                        function ClicksubBrand(p) {
                        var myAccountTab = document.getElementById("menuUl");
                        var myAccountTabLi = myAccountTab.getElementsByTagName("li");
                            if (p ==1) {
                                $(myAccountTabLi[4]).click();
                            }
                        }
                        $(function () {
                            ClicksubBrand(<%=Index%>);
                        });
                    </script>

    请看用红色标的脚本,刚开始我用myAccountTabLi【4】.click()。当时用firefox测试怎么没有反应后面转成红色部分就可以。

    为什么还要用$转成jquery对象在.click(),刚开始觉得很郁闷,上网查了下原来JAVASCRIPT脚本的.CLICK()方法只支持IE4.0以上版本对别的游览器不兼容,无语,JAVASCRIPT脚本兼容性也太差了。只有强制转成jquery对象了。

    如果不转也是有办法的:请看下面,但是感觉这种很烦

    对于HTML页面上的超链接(HREF),并不是所有的浏览器都支持其click方法。

    在IE浏览器(4.0以上版本)中,我们可以使用click方法来模拟一个超链接的点击操作。比如:

    document.links[someLinkIndex].click();

    click方法首先触发元素的onclick事件;如果onclick事件返回true则继续打开超链接所指向的URL。

    但在其他浏览器(比如NS,firefox等)中,并没有提供这样一个方法。不过你可以通过以下的javascript代码为这些浏览器也增加对click方法的支持:

    <SCRIPT LANGUAGE="javascript1.2">
    function linkClick () {
      var executeAction = true;
      if (this.onclick) {
        executeAction = this.onclick({type: 'click'});
      }
      if (executeAction)
        open (this.href, this.target ? this.target : '_self');
    }
    function initLinkClick () {
      if (document.layers && document.links.length > 0)
        document.links[0].constructor.prototype.click = linkClick;
    }</SCRIPT>
    </HEAD>
    <BODY ONLOAD="initLinkClick();">

    通过在onload的时候为links元素加载prototype,你就可以在页面实现IE/NS兼容的click方法:

    <A HREF=http://www.meidi.net/ ONCLICK="alert(event.type); return true;">
    link1</A>
    |<A HREF=http://www.meidi.net/ TARGET="_blank">
    link2</A>
    |<A HREF="http://www.meidi.net" ONCLICK="alert(event.type); return
    false;">
    link3</A>
    |
    <BR><FORM><INPUT TYPE="button"  VALUE="link1 click"
       ONCLICK="document.links[0].click();"><INPUT TYPE="button"  VALUE="link2 click"
       ONCLICK="document.links[1].click();"><INPUT TYPE="button"  VALUE="link3 click"
       ONCLICK="document.links[2].click();"></FORM>

  • 相关阅读:
    基础练习 高精度加法
    基础练习 阶乘计算
    基础练习 闰年判断
    基础练习 01字串
    基础练习 字母图形
    基础练习 数列特征
    基础练习 杨辉三角形
    基础练习 特殊的数字
    基础练习 回文数
    Codeforces 417A Elimination
  • 原文地址:https://www.cnblogs.com/scottpei/p/2366789.html
Copyright © 2020-2023  润新知