码迷,mamicode.com
首页 > 其他好文 > 详细

textarea 使用

时间:2017-08-21 22:20:46      阅读:317      评论:0      收藏:0      [点我收藏+]

标签:lan   好的   return   ace   name   输入   err   star   war   

<textarea id=‘appiMcAddr‘
minlength="5" 
maxlength="50" 
ng-minlength="5" 
ng-maxlength="50" 
onkeyup="replaceAndSetPos(this,/[.“”【】‘’!#~《》<>·?。¥~!@$%\^\+\*&\\\?\|:\.{}‘;=……\s]/g,‘‘);"
placeholder="请填写家庭地址" 
ng-model="appiMcAddr" 
name="appiMcAddr" 
required 
ng-focus="focusappiMcAddr=true" 
ng-blur="focusappiMcAddr=false"
ng-class="{true: ‘red_waring‘, false: ‘‘}[ form1.appiMcAddr.$invalid && !focusappiMcAddr]"
rows=‘1‘   //重要
onpropertychange=‘this.style.posHeight = this.scrollHeight;‘  //重要
>

</textarea>





function resetTextareaHeight(){

var textareaList = document.getElementsByTagName(‘textarea‘);
if(!textareaList || textareaList.length == 0){
return
}
var html_fontSize = parseInt($(‘html‘).css(‘fontSize‘));
for(var i=0; i<textareaList.length; i++){
var id_ele = textareaList[i];
id_ele.style.height = ‘auto‘;
id_ele.style.height = id_ele.scrollHeight/html_fontSize + ‘rem‘;

}
}





/////////////设定光标位置///////// 
function getCursorPos(obj) 
{ 
var CaretPos = 0; 
// IE Support 
if (document.selection) { 
obj.focus (); //获取光标位置函数 
var Sel = document.selection.createRange (); 
Sel.moveStart (‘character‘, -obj.value.length); 
CaretPos = Sel.text.length; 
} 
// Firefox/Safari/Chrome/Opera support 
else if (obj.selectionStart || obj.selectionStart == ‘0‘) 
CaretPos = obj.selectionEnd; 
return (CaretPos); 
} 
/* 
定位光标 
*/ 
function setCursorPos(obj,pos) 
{ 
if(obj.setSelectionRange) { //Firefox/Safari/Chrome/Opera 
obj.focus(); // 
obj.setSelectionRange(pos,pos); 
} else if (obj.createTextRange) { // IE 
var range = obj.createTextRange(); 
range.collapse(true); 
range.moveEnd(‘character‘, pos); 
range.moveStart(‘character‘, pos); 
range.select(); 
} 
} 


/* 
替换后定位光标在原处,可以这样调用onkeyup=replaceAndSetPos(this,/[^/d]/g,‘‘); 
*/

function replaceAndSetPos(obj,pattern,text){ 
/*if(event.shiftKey||event.altKey||event.ctrlKey||event.keyCode==16||event.keyCode==17||event.keyCode==18||(event.shiftKey&&event.keyCode==36)) 
return; */ 

var pos=getCursorPos(obj);//保存原始光标位置 


var temp=obj.value; //保存原始值 



obj.value=temp.replace(pattern,text);//替换掉非法值

//截掉超过长度限制的字串(此方法要求已设定元素的maxlength属性值) 
var max_length = obj.getAttribute? parseInt(obj.getAttribute("maxlength")) : ""; 

if( obj.value.length > max_length){ 
//法一:obj.value = obj.value.substring( 0,max_length);若用户在中间进行输入,此方法则达不到效果 

//法二:可以满足任何情况(当超过输入了,去掉新输入的字符) 
var str1 = obj.value.substring( 0,pos-1 ); 
var str2 = obj.value.substring( pos,max_length+1 ); 
obj.value = str1 + str2; 

// if(obj.value.length > max_length){
//    obj.value = obj.value.substring( 0,max_length);    
//}
if(obj.value.length > max_length){
obj.value = obj.value.substring( 0,max_length);
}


/*法三:在支持keycode等一系列的情况下使用 
var e=e||event; 
currKey=e.keyCode||e.which||e.charCode; 
currKey = 0; 
或 
window.onkeydown=function(){ 
if( event.keyCode!=37 && event.keyCode!=39 && event.keyCode!=8 )// 左、右、删除 
{ return false; } 
}*/ 
} 

pos=pos-(temp.length-obj.value.length);//当前光标位置 


setCursorPos(obj,pos);//设置光标

var html_fontSize = parseInt($(‘html‘).css(‘fontSize‘));

if(obj.nodeName.toLowerCase() == "textarea"){

obj.style.height = ‘auto‘;
obj.style.height = (obj.scrollHeight/html_fontSize).toFixed(1) + ‘rem‘;
}

}



//折叠框func

$(‘.panel-title‘).find(‘button‘).on(‘click‘,function(){

if($(this).parent(‘.panel-title‘).parent(‘.panel-heading‘).next(‘.panel-collapse‘).css(‘display‘) == ‘none‘){

$(this).parent(‘.panel-title‘).parent(‘.panel-heading‘).next(‘.panel-collapse‘).slideDown(500);
$(this).find(‘.icon_img‘).addClass(‘icon_img_active‘);
$(this).parent(‘.panel-title‘).parent(‘.panel-heading‘).parent(‘.panel-default‘).siblings(‘.panel-default‘).find(‘.panel-collapse‘).slideUp(500);
$(this).parent(‘.panel-title‘).parent(‘.panel-heading‘).parent(‘.panel-default‘).siblings(‘.panel-default‘).find(‘.icon_img‘).removeClass(‘icon_img_active‘);
document.getElementById(‘main_fixed‘).scrollTop = 0;

resetTextareaHeight();

}else{

$(‘.panel-collapse‘).slideUp(500);
$(‘.icon_img‘).removeClass(‘icon_img_active‘);
}
});







//禁止safari浏览器缩放
// document.addEventListener(‘touchstart‘,function(e){
// console.log(‘禁止safari浏览器缩放‘)
// var e = e || window.event;
// if(e.touches.length > 1){
// console.log(‘禁止safari浏览器缩放preventDefault‘)
// e.preventDefault();
// e.stopPropagation();
// return
// }
// },false)
// var lastTouchend = 0;
// document.addEventListener(‘touchmove‘,function(e){
// var e = e || window.event;
// var now = (new Date()).getTime();
// if(now - lastTouchend <= 500){
// e.preventDefault();
// e.stopPropagation();
// return
// }
// },false);

function showCover(obj){
$(‘#cover‘).show();
if(typeof(obj) == ‘number‘){
$(‘#bounceBox‘).hide();
$(‘#alertBox‘).hide();
if(obj == 1){
$(‘#noticeM‘).show(); 
$(‘#Mloading‘).text(‘正在加载...‘);
$(‘#noticeN‘).hide(); 
}else if(obj == 2){
$(‘#noticeM‘).show();
$(‘#Mloading‘).text(‘正在读取...‘);
$(‘#noticeN‘).hide();
}else if(obj == 3){
$(‘#noticeM‘).show();
$(‘#Mloading‘).text(‘正在提交...‘);
$(‘#noticeN‘).hide();
}else if(obj == 0){
$(‘#noticeM‘).show();
$(‘#Mloading‘).text(‘正在上传...‘);
$(‘#noticeN‘).hide();
}else{
$(‘#cover‘).hide();
$(‘#noticeM‘).hide();
$(‘#noticeN‘).hide();
}
}else if(typeof(obj) == ‘object‘){
$(‘#noticeM‘).hide();
$(‘#noticeN‘).hide();
$(‘#bounceBox‘).hide();
$(‘#alertBox‘).hide();

var target={
okBt:obj.okBt ? obj.okBt : function(){return} ,
cancelBt:obj.cancelBt ? obj.cancelBt : function(){$(‘#cover‘).hide();},
closeBt:obj.closeBt ? obj.closeBt : function(){$(‘#cover‘).hide();},
okText:obj.okText ? obj.okText : ‘确定‘,
cancelText:obj.cancelText ? obj.cancelText : ‘取消‘,
closeText:obj.closeText ? obj.closeText : ‘关闭‘,
title:obj.title ? obj.title : ‘本次申请链接已被使用,请关闭本页面,重新扫描二维码进行申请‘,
showkind:obj.showkind ? obj.showkind : 1, //默认显示第一种方式,即确认和取消按钮,2就为关闭按钮,3提示语
timer:obj.timer ? obj.timer : 2000, //默认2000ms定时关闭
}

$(‘#bounceBox_title‘).html(target.title);


if(target.showkind == 1){
$(‘#bounceBox‘).show();
$(‘#okBt‘).show();
$(‘#cancelBt‘).show();
$(‘#closeBt‘).hide();
$(‘#okBt‘).text(target.okText).on(‘click‘,function(){
target.okBt();
});
$(‘#cancelBt‘).html(target.cancelText).on(‘click‘,function(){
target.cancelBt();
});
}else if(target.showkind == 2){
$(‘#bounceBox‘).show();
$(‘#okBt‘).hide();
$(‘#cancelBt‘).hide();
$(‘#closeBt‘).show();
$(‘#closeBt‘).html(target.closeText).on(‘click‘,function(){
target.closeBt();
});
}else if(target.showkind == 3){
$(‘#alertBox‘).show();
$(‘#alertBox_title‘).text(target.title);

if(typeof(target.timer) == ‘number‘){
setTimeout(function(){
$(‘#cover‘).hide();
},target.timer);
}else if(typeof(target.timer) == ‘string‘){

}else{
console.log(‘timer error‘);
return false;
}

}else{
console.log(‘setting error‘);
return false;
}


}

}
function closeWindow(){
var ua = window.navigator.userAgent.toLowerCase();
console.log(‘关闭浏览器‘)
if(ua.match(/MicroMessenger/i) == ‘micromessenger‘){
console.log(‘关闭MicroMessenger浏览器‘)
WeixinJSBridge.call(‘closeWindow‘);
}else{
if(navigator.userAgent.indexOf("Firefox")!=-1||navigator.userAgent.indexOf("Chrome")!=-1){
console.log(‘关闭Firefox/Chrome浏览器‘)
window.location.href="about:blank";
setTimeout(function(){
showCover({
showkind:3,
title:‘请手动关闭浏览器‘,
timer:2000,
});
},1000);
}else if(navigator.userAgent.toLowerCase().indexOf(‘qq‘) != -1){
console.log(‘关闭qq浏览器‘)
window.opener = null;
window.open(‘‘, ‘_self‘, ‘‘);
window.close();
window.top.close();

setTimeout(function(){
showCover({
showkind:3,
title:‘请手动关闭浏览器‘,
timer:2000,
});
},300);

}else{
console.log(‘非标准关闭浏览器‘)
window.opener = null;
window.open(‘‘, ‘_self‘, ‘‘);
window.close();
window.top.close();

setTimeout(function(){
showCover({
showkind:3,
title:‘请手动关闭浏览器‘,
timer:2000,
});
},1000);

}


}
}

function getVersion(){
return ‘2.1.2‘
}



//防止微信露底

function preventScroll(id,off){

id = id.indexOf(‘#‘) != -1 ? id.slice(1) : id;

var content = document.getElementById(id);
var startY;

content.addEventListener(‘touchstart‘,touchstart_Func,false);
content.addEventListener(‘touchmove‘,touchmove_Func,false);

function touchstart_Func(e){
var e = e || window.event;

startY = e.touches[0].clientY;

if(e.target.getAttribute(‘class‘) === ‘photo-clip-rotateLayer‘){
console.log(‘防止微信露底事件解除‘)
content.removeEventListener(‘touchstart‘,touchstart_Func,false);
content.removeEventListener(‘touchmove‘,touchmove_Func,false);
return
}

}

function touchmove_Func(e){
var e = e || window.event;

var status = ‘11‘;
var ele = this;
var currentY = e.touches[0].clientY;
if(ele.scrollTop === 0){
status = ele.offsetHeight >= ele.scrollHeight ? ‘00‘ : ‘01‘;
}else if(ele.scrollTop + ele.offsetHeight >= ele.scrollHeight){
status = ‘10‘;
}

if(status != ‘11‘){
var direction = currentY - startY > 0 ? ‘10‘ : ‘01‘;
if(!(parseInt(status,2) & parseInt(direction,2))){
console.log(‘防止微信露底:preventDefault‘)
e.preventDefault();
e.stopPropagation();
return
}
}
}
}


//检查屏幕的方向
function checkDirection(){
var resize_timer = null;
// window.removeEventListener(‘orientationchange‘,orientationchangeFunc,false);
window.addEventListener(‘orientationchange‘,orientationchangeFunc,false);
}

function orientationchangeFunc(e){
console.log(‘orientationchange:‘+window.orientation)
if(window.orientation == 0){
console.log(‘竖屏‘)

setTimeout(function(){
clearTimeout(resize_timer);
showCover(4);
},500);

}else{

resize_timer = setTimeout(function(){
showCover({
showkind:3,
title:‘为了更好的体验,请切换方向!‘,
timer:‘off‘,
});
},1000);
}
}

 


 

 

//显示超过行数,显示省略号

.thirdProduct_desc p {
 font-size: 0.12rem;
 color: #999999;
 max-height: 1rem;
 text-overflow: ellipsis;
 overflow: hidden;
 word-break: break-all;
 display: -webkit-box;
 -webkit-line-clamp: 5;
 -webkit-box-orient: vertical;
}

 

技术分享
.select_item {
    text-overflow: ellipsis;
    white-space: nowrap;
    overflow: hidden;
}
View Code

 

 

 

 

textarea 使用

标签:lan   好的   return   ace   name   输入   err   star   war   

原文地址:http://www.cnblogs.com/xmhu/p/7406942.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!