有两个输入框架(移动端),当输入框获得焦点的时候会判断输入框是否有值,有值的话显示删除按钮,删除输入框的值,为空就会隐藏删除按钮,输入框失去焦点也会隐藏删除按钮,我现在是用同一个class(.uc-a1和imdeltxt)来控制的,但是这样会同时控制两个输入框,有什么办法在用同一个class下(不用id)实现只控制一个(有些地方不值两个输入框的),这样做主要是为了遍历整个客户端的输入框,要不然都要根据各自的id来判断很繁琐,请教各位了!
<script>
function shanchu()
{
$(".uc-a1").val('');
$(".imdeltxt").hide(); }
function keydownup()
{
if($(".uc-a1").val()!="")
{
$(".imdeltxt").show();
}
else
{
$(".imdeltxt").hide();
}
}
function keyout()
{
$(".imdeltxt").hide();
}
function keyon()
{
if($(".uc-a1").val()!="")
{
$(".imdeltxt").show();
}
else
{
$(".imdeltxt").hide();
}
}
</script>
[code=html]
<div class="uinn10">
<div class="ub ub-ver uba b-gra uc-a t-bla c-wh">
<div class="ubb b-gra uinn uc-t">
<!--文本开始-->
<div class="ub t-bla ulab ub-ac">
<div class="ulim ulev0">用户名:</div>
<div class="ub-f1 uinput uinn4">
<input style="width:10.5em;" placeholder="请输入手机号码" type="text" id="account" class="uc-a1" oninput="keydownup();" onblur="keyout();" onfocus="keyon();" class="uc-a1">
<div class="ub ub-ac ub-pc" style="position:absolute; top:0.05em; right:-0.7em; z-index:9999; width:2.5em;height:2em;" ontouchstart="zy_touch('btn-act1')" onclick="shanchu()">
<div class="imdeltxt lis-icondel ub-img " id="accountdel" style="display:none;"></div>
</div>
</div>
</div><!--文本结束-->
</div>
<div class="uinn uc-b ">
<!--文本开始-->
<div class="ub t-bla ulab ub-ac">
<div class="ulim ulev0">密码: </div>
<div class="ub-f1 uinput uinn4">
<input style="width:10.5em;" placeholder="请输入密码" type="password" id="paw" class="uc-a1" oninput="keydownup();" onblur="keyout();" onfocus="keyon();" class="uc-a1">
<div class="ub ub-ac ub-pc" style="position:absolute; top:0.05em; right:-0.7em; z-index:9999; width:2.5em;height:2em;" ontouchstart="zy_touch('btn-act1')" onclick="shanchu()">
<div class="imdeltxt lis-icondel ub-img " id="pawdel" style="display:none;"></div>
</div>
</div>
</div><!--文本结束-->
</div>
</div>[/code]
<script>
function shanchu()
{
$(".uc-a1").val('');
$(".imdeltxt").hide(); }
function keydownup()
{
if($(".uc-a1").val()!="")
{
$(".imdeltxt").show();
}
else
{
$(".imdeltxt").hide();
}
}
function keyout()
{
$(".imdeltxt").hide();
}
function keyon()
{
if($(".uc-a1").val()!="")
{
$(".imdeltxt").show();
}
else
{
$(".imdeltxt").hide();
}
}
</script>
[code=html]
<div class="uinn10">
<div class="ub ub-ver uba b-gra uc-a t-bla c-wh">
<div class="ubb b-gra uinn uc-t">
<!--文本开始-->
<div class="ub t-bla ulab ub-ac">
<div class="ulim ulev0">用户名:</div>
<div class="ub-f1 uinput uinn4">
<input style="width:10.5em;" placeholder="请输入手机号码" type="text" id="account" class="uc-a1" oninput="keydownup();" onblur="keyout();" onfocus="keyon();" class="uc-a1">
<div class="ub ub-ac ub-pc" style="position:absolute; top:0.05em; right:-0.7em; z-index:9999; width:2.5em;height:2em;" ontouchstart="zy_touch('btn-act1')" onclick="shanchu()">
<div class="imdeltxt lis-icondel ub-img " id="accountdel" style="display:none;"></div>
</div>
</div>
</div><!--文本结束-->
</div>
<div class="uinn uc-b ">
<!--文本开始-->
<div class="ub t-bla ulab ub-ac">
<div class="ulim ulev0">密码: </div>
<div class="ub-f1 uinput uinn4">
<input style="width:10.5em;" placeholder="请输入密码" type="password" id="paw" class="uc-a1" oninput="keydownup();" onblur="keyout();" onfocus="keyon();" class="uc-a1">
<div class="ub ub-ac ub-pc" style="position:absolute; top:0.05em; right:-0.7em; z-index:9999; width:2.5em;height:2em;" ontouchstart="zy_touch('btn-act1')" onclick="shanchu()">
<div class="imdeltxt lis-icondel ub-img " id="pawdel" style="display:none;"></div>
</div>
</div>
</div><!--文本结束-->
</div>
</div>[/code]
解决方案 »
- 图片获取的问题请教
- mousedown和mouseover不能同时执行吗?
- 在IE中,如何使用JS删除DOM对象的属性?
- (100分!!)求一个js计算器
- 关于mozilla/4.0的意义?
- 急求怎么让网页中的浮动广告层在最上面
- 利用vs view7.0 + javascript打印预览可以,打印的时,出现字体突然变大,加粗,背景色变乌黑
- 关于层用鼠标拖动问题
- 用JavaScript怎样关闭浏览器窗口才能确保不弹出"你是否要关闭该窗口"的确认框呢?
- IE8 onclick点击事件无效,<input type="date" > 无效 该怎么解决 急!!
- js 局部变量和局部变量传递问题
- Jquery 调用自定义函数 为什么只有在设置断点才运行?
var postEvent = e.nextSibling.nextSibling;//因为会有个空白结点。这个不好用,经常有兼容问题
alert(postEvent.nodeName);
postEvent.innerHTML = "成功";
}不怎么会用jquery,不过这样修改的大体意思,就是找到他的父节点,或者是兄弟节点。
然后对其进行操作。
先从你的代码中把那些oninput="keydownup();" onblur="keyout();" onfocus="keyon();"什么的移除,而且class="uc-a1"也多写了一次。。<script type="text/javascript">
$(function(){
//方法一:根据索引
$('.uc-a1').each(function(i){
$(this).bind("keyup blur",function(){
if($(this).val()!=''){
$(".imdeltxt").eq(i).show();
}else{
$(".imdeltxt").eq(i).hide();
}
})
});
//方法二:根据元素位置
$('.uc-a1').bind("keyup blur",function(){
if($(this).val()!=''){
$(this).next().find(".imdeltxt").show();
}else{
$(this).next().find(".imdeltxt").hide();
}
})
})
</script>
$('.uc-a1').bind("keyup blur",function(){
var i=$(this).index('.uc-a1');
if($(this).val()!=''){
$('.imdeltxt').eq(i).show();
}else{
$('.imdeltxt').eq(i).hide();
}
})
function checkInput(this){
$(this) 就是针对当前的具体某个class了
}<input type="text" class="uc1" onblur="checkInput(this)">
<input type="text" class="uc1" onblur="checkInput(this)">
当然你可以想说这样每个都要加onblur , 不然你直接用ID也就可以了,但是这样的写法比每个加ID 我感觉结构感要好很多,至少不会因为ID变化而变化。