Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/475.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何阻止dojo在焦点上滚动形成小部件?_Javascript_Dojo_Dijit.form - Fatal编程技术网

Javascript 如何阻止dojo在焦点上滚动形成小部件?

Javascript 如何阻止dojo在焦点上滚动形成小部件?,javascript,dojo,dijit.form,Javascript,Dojo,Dijit.form,所有表单小部件都从dijit.form.\u FormWidgetMixin扩展而来,当窗口小部件接收到焦点时,它会将窗口滚动到窗口小部件 我个人发现,这种行为使大多数小部件无法使用。如何停止它?Dojo允许您使用Dojo/\u base/lang::extend来扩展基本组件。在加载dijit/form/\u FormWidgetMixin // Dojo 1.7+ (AMD) define([ "dojo/_base/lang", "dijit/form/_FormWidge

所有表单小部件都从
dijit.form.\u FormWidgetMixin
扩展而来,当窗口小部件接收到焦点时,它会将窗口滚动到窗口小部件


我个人发现,这种行为使大多数小部件无法使用。如何停止它?

Dojo允许您使用
Dojo/\u base/lang::extend来扩展基本组件。在加载
dijit/form/\u FormWidgetMixin

// Dojo 1.7+ (AMD)
define([
    "dojo/_base/lang",
    "dijit/form/_FormWidgetMixin"
], function(lang, _FormWidget){
    lang.extend(_FormWidget, {
        scrollOnFocus:false
    });
});
以下是AMD dojo之前的版本:

// Dojo < 1.7
dojo.require("dijit.form._FormWidget");
dojo.extend(dijit.form._FormWidget, {
    scrollOnFocus:false
});
//Dojo<1.7
require(“dijit.form._FormWidget”);
扩展(dijit.form.\u FormWidget{
scrollOnFocus:false
});

我个人认为正好相反。。。如果页面没有滚动,您如何仅使用键盘填写表单?对于使用标准表单元素的小部件,它的行为应与浏览器的正常行为相同。我不喜欢这个特性的一个例子是,我有一个
dijit/InlineEditBox
使用
ditit/form/Textarea
作为编辑器。单击文本会生成一个文本区域,以及保存和取消按钮。单击任一按钮都会使页面滚动到该按钮。我必须再次点击才能真正触发按键点击使用键盘对我来说仍然很好。它滚动到元素。我更愿意根据需要启用它(如果需要的话),而不是在点击东西时进行大量的随机滚动。