代表不适用于IE?一个非常奇怪的行为

问题描述

| 我注意到我自己的页面在IE8上根本不起作用:尝试单击
Add Category
,而不是
Create Category
:您应该会收到警报。实际上,这不是在我的IE8上发生的。 Chrome,Firefox,一切正常。 为什么?这是整个代码
 <!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.1//EN\" \"http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd\"> 
 <html xmlns=\"http://www.w3.org/1999/xhtml\" xml:lang=\"it\"> 
<head> 
    <Meta http-equiv=\"Content-Type\" content=\"text/html; charset=utf-8\" /> 
    <title>The GTW Database</title>     
    <script type=\"text/javascript\" src=\"settings/jquery-1.5.min.js\"></script> 
    <script type=\"text/javascript\" src=\"mgmt/mgmt_javascript.js\"></script>          
    <link type=\"text/css\" rel=\"stylesheet\" href=\"settings/style.css\" title=\"Style\" media=\"all\" /> 
</head> 

<body> 
    <script type=\"text/javascript\"> 
        $(document).ready(function() {
            $(\'#addCategory\').click(function(e) {
                e.preventDefault();
                $(\'#addCategoryForm\').toggle();
            }); 

            $(\"#addCategoryForm\").delegate(\"form[name=categoryForm]\",\"submit\",function(e){
                e.preventDefault();
                alert(\"Yeah,I\'m In\");
            }); 
        });
    </script>   

    <div class=\"main_content_remark\"> 
        <div class=\"back1\"> 
            Categories
        </div> 

        <div class=\"back2\"> 
            <a id=\"addCategory\" class=\"lblueb\" href=\"#\">Add Category</a> 
        </div> 
    </div> 

    <div class=\"main_content_remark\" id=\"addCategoryForm\" style=\"display:none; height:32px;\"> 
        <form method=\'post\' name=\"categoryForm\"> 
            <div class=\"categoryName\"> 
                <div class=\"categoryName1\"> 
                    Name
                </div> 

                <div class=\"categoryName2\"> 
                    <input type=\"text\" maxlength=\"50\" name=\"name\" class=\"input400\" /> 
                </div> 

                <div class=\"categoryName3\"> 
                    &nbsp;
                </div> 

                <div class=\"categoryName4\"> 
                    <input type=\"submit\" value=\"Create Category\" /> 
                </div>                  
            </div> 
        </form>         
    </div> 
</body> 
      希望您能够帮助我。真的很奇怪...同样的方法在其他页面上也能完美地工作...     

解决方法

        问题在于您使用的是
[name=categoryForm]
,它使IE7,8感到困惑。将其更改为ID,或者如果此格式是
#addCategoryForm
中的唯一格式,则只需编写:
$(\"#addCategoryForm\").delegate(\"form\",\"submit\",function (e) {
            e.preventDefault();
            alert(\"Yeah,I\'m In\");
        });