【斗医】【15】Web应用开发20天
在介绍HTML富文本使用之前,先解决几个易用性的问题
1、在chrome浏览器中textarea高度自适应存在问题:当输入任何一个字符时textarea高度都会增加
解决办法:
(1)在challenge.js中定义autoAdaptHeight()方法,内容如下:
/**
* textarea高度自适应
*/
function autoAdaptHeight(component){
var paddingTop = parseInt($(component).css("padding-top"));
var paddingBtm = parseInt($(component).css("padding-bottom"));
var scrollHeight = component.scrollHeight;
var height = $(component).height();
// 判断是否为chrome浏览器
if(window.navigator.userAgent.indexOf("Chrome") 0){
if(scrollHeight - paddingTop - paddingBtm height){
$(component).css("height", scrollHeight);
}
return;
}
$(component).css("height", scrollHeight);
}
(2)修改initInputComponent()方法,使其调用autoAdaptHeight()方法
// 设置textArea高度自适应
dynamicItem.bind("keyup", function(event){
autoAdaptHeight(this);
});
【备注】:
1、在网上搜索相关解决方案时,很多都存在此问题,对兼容性做的稍差一些。网上也有一些组件,感兴趣的可以看一下源码
2、效果不好演示,这里就不给出效果图了
2、当战书标题长度超长时没有给出相应的提示
解决办法:
(1)在challenge.js中定义setLengthHit()方法,内容如下:
/**
* textarea长度超出时提示
*/
function setLengthHint(component){
if(component.id == "challenge_title_id"){
if(!component.value){
return;
}
var titleId = $("#challenge_title_hint_id");
if(component.value component.value.length 96){
titleId.parent().show();
} else {
titleId.parent().hide();
}
titleId.text(component.value.length - 96);
}
}
(2)修改initInputComponent()方法,使其调用setLengthHint()方法
dynamicItem.bind("keyup", function(event){
// 设置textArea高度自适应
autoAdaptHeight(this);
// 长度超长时给出提示信息
setLengthHint(this);
});
效果如下图所示:
3、进入下战书页面,标题textarea没有自动获取鼠标
解决办法:
修改initInputComponent()方法,添加如下内容:
/**
* 初始化文本框
*/
function initInputComponent(){
var textareaArray = new Array("challenge_title_id", "challenge_prescript_id", "challenge_challenger_id");
// 进入页面"标题textarea"获取焦点
$("#" + textareaArray[0]).focus();
$.each(textareaArray, function(i, item){
var dynamicItem = $("#" + item);
// 绑定PlaceHolder
bindPlaceHolder(dynamicItem);
dynamicItem.bind("keyup", function(event){
// 设置textArea高度自适应
autoAdaptHeight(this);
// 长度超长时给出提示信息
setLengthHint(this);
});
});
}
效果如下图所示:
【题外话】:
一个系统的好坏,真的不在于它使用了哪些牛的技术,对于用户来讲就是易用性,拿iphone来讲它的app并不是全都好用,只是把其中的某个点做到了极致;facebook的成功亦是如此,它开始时就把其中的几个点做的很体贴。
本文出自 “青客” 博客,请务必保留此出处http://qingkechina.blog.51cto.com/5552198/1423592
目标全平台的Flutter支持Web应用开发了! Flutter作为一个可移植的UI框架,已经支持现代Web应用开发了!我们很开心已经发布了SDK预览版,这样你可以在Web浏览器里直接运行你的Flutter UI代码。 原文链接:Flutter Web - 目标全平台开发的Flutter再下一城!- 汇智网 Flutter Web的目标 从去年Beta版发布以来,客户们已经使用Flutter来创建可以运行在iOS和Android上的移动应用了。
基于阿里云打造『云原生』Web应用——『懒猪行』Web应用开发实践 『懒猪行』专注于境外自由行S2B业务,涉及分销、终端用户服务、供应链等多个服务环节,随着业务规模的不端增加,我们一直在探索Web应用开发的最佳实践,以加快Web应用的迭代效率,为B/C端用户创造更多价值。
基于SSM的Java Web应用开发原理初探 SSM开发Web的框架已经很成熟了,成熟得以至于有点落后了。虽然如今是SOA架构大行其道,微服务铺天盖地的时代,不过因为仍有大量的企业开发依赖于SSM,本文简单对基于SSM的Java开发做一快速入门,方便读者尽快把握脉络,理解Java Web开发的主轴,便于做进一步深入学习。
spring boot 2.0之web应用开发 web应用开发 spring boot 非常适合进行web程序开发。可以通过使用spring-boot-starter-web快速创建一个内嵌tomcat或Jetty,或netty的应用。
相关文章
- Web Service应用之JAX-WS开发[通俗易懂]
- web基础知识_Web开发基础
- 支持JDK19虚拟线程的web框架,中篇:完整开发一个支持虚拟线程的quarkus应用
- 大数据的应用实例_net开源开发web框架
- PHP与MySQL:搭建你的Web应用(php和mysql)
- JSP application.getContextPath()方法:返回当前Web应用的路径
- 服务Linux下访问Web服务的指南(linux访问web)
- 数据库构建Web与MySQL数据库之间的连接(web连接mysql)
- 利用PHP 6 与MySQL 5 开发优秀Web应用(php6mysql5)
- 形如:Linux一键安装JSP:快速搭建轻量级Web应用(linux一键安装jsp)
- 器Linux实现快速开启Web服务器(linux开启web服务)
- 应用Linux服务器:打开Web应用的大门(linux服务器web)
- 基于Koa和Redis的Web应用开发(koaredis)
- Struts与MySQL结合,实现WEB应用开发有效结果(strutsmysql)
- Tomcat与MySQL助力Web应用程序开发(tomcat和mysql)
- 利用Web服务管理Redis(web服务redis)
- Firefox OS加入Cordova项目 web应用开发更简单
- 使用 Flutter 开发简单的 Web 应用
- PHP MySQL 时间的应用在 Web 开发中的重要性分析(phpmysql时间)
- 简易Web应用开发:JSPMySQL源代码实例探究(jspmysql源代码)
- 3将SQL Server数据采用TP3框架进行Web应用开发(sqlserver和tp)
- 基于ASPX和MySQL的Web应用开发(aspx mysql类)
- Redis在Web开发中的光辉成就(web框架redis)
- Web应用程序提升运行效率Redis技术实践(web应用使用redis)
- 使用Tomcat和Redis构建更加稳健的Web应用(tomcat和redis)
- 前端Web与Redis的连接创建更强大的服务(前端web连接redis)