如何在IE11中停止向上滚动<button dojotype =“dijit.form.Button”type =“submit”> </button>

时间:2015-04-02 07:57:08

标签: javascript jquery dojo

我目前正在使用一个在客户端有dojo的Web应用程序。现在浏览器 IE11 我面临以下组件的滚动问题

<button dojoType="dijit.form.Button" type="submit" name="favouriteList" value="favoriteList" onclick="buttonfix(this);"/>

我面临的问题是在滚动即将到来的某些页面中,当用户向下滚动到页面按钮时(因为按钮位于页面按钮处)并单击按钮,不会触发任何操作并且页面向上滚动到顶部。需要注意的是,只有在第一次点击按钮时才会发生这种情况。现在,如果用户再次滚动到底部并将光标放在按钮上,点击它然后相应的操作被解雇。

从我的第一次检查中我得到的印象是dojo可能是导致这个问题的原因。我尝试了以下方法: 我删除了dojoType="dijit.form.Button" 属性。它解决了问题。但不幸的是,这是不可接受的,因为在我们的项目中我们需要保持完整的道场。我们的道场版本是2.1

我项目特定按钮的整个生成的html如下:

       <button name="favouriteList" tabindex="0" class="dijitReset dijitStretch  dijitButtonContents" id="dijit_form_Button_9" role="button" aria-labelledby="dijit_form_Button_9_label" type="submit" waistate="labelledby-dijit_form_Button_9_label" wairole="button" dojoattachpoint="titleNode,focusNode" value="favouriteList">
           <span class="dijitReset dijitInline" dojoattachpoint="iconNode">
              <span class="dijitReset dijitToggleButtonIconChar">
              </span>
           </span>
           <span class="dijitReset dijitInline dijitButtonText" id="dijit_form_Button_9_label" dojoattachpoint="containerNode">favouriteList</span>
       </button>

以下是buttonfix(this)函数的代码:

      <script type="text/javascript">
          function buttonfix(dojoButton) {  
            var button;
            if(dojoButton.id==""){
                button = dojoButton;
            } else {
                button=document.getElementById(dojoButton.id)
            }   
            for(j=0; j<button.form.elements.length; j++)
                if(button.form.elements[j].tagName == 'BUTTON' )
                    button.form.elements[j].disabled = true;
            button.disabled=false;
          }
      </script>

所以,任何人都可以为我提供任何其他解决方案吗?

2 个答案:

答案 0 :(得分:0)

我可能会误解这个问题,但是......

向上滚动可能是因为表单已发布,触发了页面的重新加载。也许您可以尝试将 onclick 更改为:

onclick =&#34; buttonfix(this);返回false&#34;

这会阻止提交。

答案 1 :(得分:0)

在dojo按钮的属性中设置scrollOnFocus:false - https://dojotoolkit.org/api/#1_10dijit_form_Button_scrollOnFocus