Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/django/24.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/88.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
Django 在移动设备上使用html5输入小部件,在台式机上使用小部件库的最佳方式是什么?_Django_Html_Angularjs - Fatal编程技术网

Django 在移动设备上使用html5输入小部件,在台式机上使用小部件库的最佳方式是什么?

Django 在移动设备上使用html5输入小部件,在台式机上使用小部件库的最佳方式是什么?,django,html,angularjs,Django,Html,Angularjs,我有一个用Django编写的应用程序,我的前端使用AngularJS 我正在使应用程序响应;但我有一些输入小部件在手机屏幕上表现不好(例如:datepicker、numberpicker等)。 我想在移动浏览器上禁用这些小部件,但我不知道最好的方法 例如,引导数据采集器用作可嵌入组件(作为div),但要将其转换为html5输入,我必须将其替换为input type=“text”,并且不初始化数据采集器 我是否应该在datepicker指令中或在django模板中进行此更改,返回div或基于浏览器

我有一个用Django编写的应用程序,我的前端使用AngularJS

我正在使应用程序响应;但我有一些输入小部件在手机屏幕上表现不好(例如:datepicker、numberpicker等)。 我想在移动浏览器上禁用这些小部件,但我不知道最好的方法

例如,引导数据采集器用作可嵌入组件(作为
div
),但要将其转换为html5输入,我必须将其替换为
input type=“text”
,并且不初始化数据采集器

我是否应该在datepicker指令中或在django模板中进行此更改,返回div或基于浏览器的输入?

我同意

我会将模板更改为使用标准html元素,如
,然后使用javascript检测设备大小并仅替换桌面大小上的代码(直到大约767px)

我对这个过程的建议是(通常)桌面浏览器在实时处理和处理DOM转换方面更强大、更快。如果这种情况发生在移动设备上,则速度会变慢或更容易出现错误。在台式机上,这些DOM更改几乎是不可察觉的

作为使用较少javascript的替代方案,您可以使用标准和非标准对将所有元素加倍。然后,在标准类中添加一个类,如
.mobile
,在其他类中添加
.desktop
。最后,在css样式上,使用:

.mobile {display: none;} //all styles

@media only screen and (max-width: 767px) {
    .mobile {display: block;}
    .desktop {display: none;}
}
我还认为这个问题是一个很好的例子,说明了标准html如何在其他设备上变得更具可伸缩性

希望有帮助。

使用
;检测屏幕大小/触摸支持/任何相关信息。如果Bootstrap的日期选择器不能处理这些,那就是它的失败。不过,无论您做什么,都不要进行浏览器嗅探,也不要在服务器端进行嗅探。