最近弄个email自动补全jquery,jquery不是我写的,但这文章是我写的,经过我的修改jquery能够自适应控件的宽度,多个页面调用同一个jquery,只需要小小的添加小点控件
原来的是固定写好的宽度
<div id='myemail' style='width:170px; height:auto; background:#fff; color:#6B6B6B; position:absolute; left:" + $(this).get(0).offsetLeft + "px; top:" + ($(this).get(0).offsetTop + $(this).height() + 2) + "px; border:1px solid #ccc;z-index:1000; '></div>");
,我需要多个页面来引用jquery,达到功能的实现,可是我的几个页面的文本框的宽度不同,做不能重命名jquery吧,于是修改了下,动态付给div的宽度,
<div id='myemail' style='width:" + width + "px; height:auto; background:#fff; color:#6B6B6B; position:absolute; left:" + $(this).get(0).offsetLeft + "px; top:" + ($(this).get(0).offsetTop + $(this).height() + 2) + "px; border:1px solid #ccc;z-index:1000; '></div>");
可宽度怎么找呢,百度了下,获取控件的宽度有两种
txtEmail.clientWidth
//offsetWidth
效果自己看看,本想在jquery里面获取控件txtEmail.clientWidth的没反应空的,只能在控件的页面获取
<input id="txtwidth" type="text" />
</br>
<label>填写邮箱<label> <input type="text" id="txtEmail" />
<script type="text/javascript">
$("#txtwidth").val(txtEmail.clientWidth);
获取宽度后放到隐藏控件里去;
var width = $("#txtwidth").val();
宽度就能得到了,jquery获取宽度后div宽度 就能和控件宽度一样了,这样我几个控件不一样的话,同引用个jquery就没问题了完成
有点麻烦,是我自己弄的,不知道大神有什么建议意见
http://www.541ta.com/post/28.html 我的博客欢迎来看,我的博客地址有个demo提供下载,需要可自己领取