如何限制onclick onfocus事件只触发一个

北京不不 2010-01-19 11:43:27
<input onclick="set1()" onfocus="set2()">
当没有获取焦点时候,单击它就执行set2(),不执行set1()
当获取焦在文本框的时候,再单击就执行set();
...全文
428 11 打赏 收藏 举报
写回复
11 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
萧大侠的圈 2010-01-20
  • 打赏
  • 举报
回复
多思考。。。多实践总会解决的!呵呵
北京不不 2010-01-19
  • 打赏
  • 举报
回复
ok 解决了
<div style="display:none">ssss</div>
<input type="text" onfocus="set2(this)">
<script language="javascript">
var clicks
function set2(h)
{
clicks=false
h.onclick=function(){
if(click)
{
.....
}
else
{
clicks=true;
}

}

}
duwa789 2010-01-19
  • 打赏
  • 举报
回复

<script language="javascript">
function textClicked(o) {
if (document.getElementById('hidden').value == 'in') {
o.value += '_';
}
}
</script>

<input type="text" onmousedown="textClicked(this);" onfocusin="document.getElementById('hidden').value='in';"
onfocusout="document.getElementById('hidden').value='out';" />
<input type="hidden" id="hidden" />


萧大侠的圈 2010-01-19
  • 打赏
  • 举报
回复
要是是这样的话!做个简单的判断就行了啊。。或者借助隐藏表单域进行处理
萧大侠的圈 2010-01-19
  • 打赏
  • 举报
回复
你的意思是说用onfocus来发送客户端请求,读取所有的城市。用onclick来显示隐藏这个显示城市的这个层。是这个意思吧?
呼吸先生 2010-01-19
  • 打赏
  • 举报
回复
我在IE8下测试情况是这样的
没有焦点的时候就执行了onfocus事件,有焦点的时候先执行了onclick后执行了onfocus。
北京不不 2010-01-19
  • 打赏
  • 举报
回复
是这样的。
我要实现的是。ajax
文本框获取焦点的时候,读取所有的城市,并且放入层,显示层。
然后再单击,层再隐藏。

萧大侠的圈 2010-01-19
  • 打赏
  • 举报
回复
你是想实现什么功能呢??他们的执行是有个顺序的!就看你的需求是什么咯
changshoujun 2010-01-19
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 yixianggao 的回复:]
当没有获取焦点时候,单击它时,会先触发 onfocus 事件,然后才是 onclick!

lz 对事件执行顺序理解有问题,你的想法无法实现!
[/Quote]
学习~
yixianggao 2010-01-19
  • 打赏
  • 举报
回复
当没有获取焦点时候,单击它时,会先触发 onfocus 事件,然后才是 onclick!

lz 对事件执行顺序理解有问题,你的想法无法实现!
呼吸先生 2010-01-19
  • 打赏
  • 举报
回复
除了用这种变量控制 还真没有什么好方法
相关推荐
发帖
JavaScript

8.7w+

社区成员

Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
帖子事件
创建了帖子
2010-01-19 11:43
社区公告
暂无公告