- 浏览: 170286 次
- 性别:
- 来自: 天津
文章分类
最新评论
将setTimeout的时间设置为0,告诉浏览器当它为当前任何挂起的事件运行完事件句柄并且完成了文档当前状态的更新后,就调用该函数,于是可用下面的例子来看效果:
<script>
function createinput(){
var input = document.createElement('input');
input.setAttribute('type', 'text');
input.setAttribute('value', 'test1');
document.getElementById('inpwrapper').appendChild(input);
input.focus();
input.select();
}
function createinput1(){
var input = document.createElement('input');
input.setAttribute('type', 'text');
input.setAttribute('value', 'test1');
document.getElementById('inpwrapper').appendChild(input);
setTimeout(function(){
input.focus();
input.select();
}, 0);
}
</script>
<form name="navbar">
<button id="makeinput" onmousedown="createinput()" create input</button>
<p id="inpwrapper"></p>
</form>
由于js执行是单线程的,当执行完鼠标按下的事件处理函数后会丢掉事件句柄链,所以用createinput函数不会使新创建的text聚焦,然而使用setTimeout方法后会告诉浏览器尽快执行它所指定的函数,所以用createinput1函数会使新创建的text聚焦。
问题1:但是当使用的是onmouseup="createinput()" 或者onclick="createinput()" 时,并不需要用setTimeout就可以让浏览器直接调用input.focus(); input.select();这又该如何解释呢??
问题2:当在onmousedown中调用createinput()前先调用alert()事件时,input.focus(); input.select();这两个方法会被浏览器调用,然而,如果该按钮同时注册了onmouseup或onclick的话是不会被触发的(在onmouseup和onclick中调用alert也一样,因为alert会阻止了事件传递,即后续调用事件丢失)
发表评论
-
ajax下载文档 ClientAbortException: java.net.SocketException: Connection reset by pee
2013-08-28 13:58 2296众所周知ajax是使用了浏览器内部的XmlHttpRequ ... -
在js里引用另一个js文件
2013-08-28 10:58 823new_element=document.createE ... -
<转> js替换字符正则表达式
2013-08-16 14:28 808function replace() { var str ... -
<转> JQuery选择器
2013-08-16 10:24 856<html> <head> &l ... -
jQuery获取Select选择的Text和 Value(转)
2013-08-13 09:47 583jQuery获取Select选择的Text和Valu ... -
<转>javascript获取地址栏参数
2013-08-12 10:03 704function GetQueryString(name){v ... -
iframe子页面内刷新同页面中另一个iframe
2013-08-09 15:25 10560框架页面如下: <div id="a ... -
jquery动态修改链接的onclick方法
2013-08-07 11:29 2326用jquery动态修改链接的onclick方法的传递参数,在 ... -
《转》JS怎么刷新当前页面
2013-04-15 13:17 845reload 方法,该方法强迫 ... -
<转>iframe去掉横向滚动条
2012-05-15 14:45 1241如题,就是在网页中, ... -
ie onmouseup和onclick事件执行顺序
2012-05-14 17:21 1161今天项目要做个类似网 ... -
iframe同步刷新时好时坏问题
2012-04-19 17:04 1240页面由左右两个iframe组成,要求右面内容更新时(内容跟左面 ... -
js浮动效果
2012-02-14 17:29 1016项目中某页面需要固定某个div内容,实际需求是这样的,有个评分 ... -
js判断页面关闭 仅支持IE6
2012-02-08 16:38 1657关闭页面时同时执行onbeforeunload和onunloa ... -
onpropertychange与输入法有关
2012-02-03 14:56 1203页面输入框经常有只允许输入数字的限制,一般都用onproper ... -
<转>name和function名字不能相同
2012-01-05 16:40 0今天突然碰到form表单的名字与js方法的名字相同导致找不到j ... -
超链接<a>中属性href与target相冲突的地方
2011-03-25 11:47 1920今天在项目中写了两行代码,出现不同的效果: ①<a h ... -
<转>键盘回车事件导致页面刷新的问题
2011-03-24 11:18 874我最近在做一个 Ajax 查询的功能,代码如下: ... -
使用prototype的有用小方法
2010-09-13 15:33 938今天刚刚接触js中对象 ... -
JS 字符串连接性能
2010-09-12 17:18 2166在W3SCHOOL中有讨论js字符串连接方法性能对比的篇章如下 ...
相关推荐
在JavaScript中,`onmousedown`、`onmouseup` 和 `onclick` 是三个常见的鼠标事件,分别对应于鼠标按钮被按下、释放以及单击操作。在同一个元素上同时使用这三个事件可以实现更复杂的交互功能,但同时也可能带来一些...
简单来说,`onclick`可以看作是`onmousedown`和`onmouseup`的组合。 在某些场景下,`onmousedown`和`onclick`的差异可能导致不同的行为。例如,如果你在某个元素上设置`onmousedown`事件,然后在不移动鼠标的情况下...
为了解决这个问题,我们需要理解鼠标事件的执行顺序:onmousedown -> onmouseup -> onclick。这意味着,当用户拖拽结束后松开鼠标按钮(onmouseup),紧接着会触发click事件。由于click事件的执行时间非常短暂,所以...
在上面的代码中,我们添加了四个事件处理函数:onmousedown、onmouseup、onclick和ondblclick。onmousedown和onmouseup事件用于捕获鼠标按下和释放事件,而onclick事件用于捕获单击事件,ondblclick事件用于捕获双击...
10. **onmousedown、onmouseup及onclick事件**:鼠标按钮按下(`onmousedown`)、释放(`onmouseup`)和点击(`onclick`)事件,构成鼠标点击的完整过程,常用于实现按钮的点击功能或其他需要精确控制鼠标操作的场景。...
- 对于鼠标事件,如OnMouseDown和OnMouseUp,Button参数标识是哪个鼠标按钮被按下或释放,Shift参数提供了鼠标的其他键状态,如左键、右键和中键。 在实际编程中,通过理解并利用这些事件,开发者可以构建出响应...
1. setCapture 简介 setCapture可以将鼠标事件锁定在指定的元素上,当... onclick ondblclick onmousedown onmouseup onmouseover onmouseout setCapture不可作用于键盘等其它事件,只能作用于鼠标事件。主要
`onmousedown`在鼠标按钮按下时触发,`onmouseup`在释放鼠标按钮时触发,`onclick`则在完整的点击动作完成后触发。 7. **事件处理程序的兼容性**:需要注意的是,不同的浏览器可能对某些事件支持不同,因此在编写...
与`onmousedown`相对应,`onmouseup`事件在用户释放鼠标按钮时触发。它常与`onmousedown`结合使用,完成一个完整的点击操作。例如: ```html <button onmousedown="console.log('按下')" onmouseup="console.log('...
object Form1: TForm1 Left = 216 Top = 131 AutoSize = True BorderIcons = [biSystemMenu, biMinimize] BorderStyle = bsNone Caption = 'Calculator' ClientHeight = 304 ClientWidth = 226 ...
在JavaScript中,有多种鼠标事件,包括`onclick`、`onmousedown`、`onmouseup`、`oncontextmenu`、`ondblclick`等。这些事件都伴随着一个事件对象`event`,在非IE低版本浏览器中,`event`对象是作为参数传递给事件...
2. JavaScript 鼠标事件:JavaScript 中的鼠标事件包括onMouseDown、onMouseUp、onClick、onMouseMove、onMouseOver、onMouseOut等。题目中提到的B和D(onMouseLeave和onMouseOver)是两个常见的鼠标事件。 3. 面向...
+ Handle all standard events - OnClick, OnMouseDown, OnMouseUp, OnMouseMove, OnMouseEnter, OnMouseLeave + Support standard hint + Handle custom hint window + Supports Windows95/98/Me/NT/2000/XP/2003
主要有四种鼠标事件:OnMouseDown、OnMouseMove、OnMouseUp和OnClick。其中,OnMouseMove事件在鼠标移动时会被触发,是记录轨迹的关键。 1. **OnMouseMove事件**:在Form或任何具有焦点的控件上,当鼠标移动时,...
此外,DBEdit 组件还具有多种事件,包括 OnChange、OnClick、OnDblClick、OnKeyDown、OnKeyUp、OnMouseDown、OnMouseUp 等,可以根据需要进行相应的处理。 在 Delphi 中,还提供了压缩流和解压流的应用,通过 ...
* 鼠标事件:onclick、ondblclick、onmousedown、onmouseup、onmousemove、onmouseover、onmouseout * 键盘事件:onkeydown、onkeyup * 表单事件:onsubmit、onfocus、onblur、onchange * 页面事件:onload、...
系统托盘组件 TTrayIcon 简介 - 回复 ...OnClick: 单击图标时... OnDblClick OnMouseDown OnMouseMove OnMouseUp TTrayIcon 还有两个方法, 前面都已提到了: TTrayIcon.SetDefaultIcon; TTrayIcon.ShowBalloonHint;
这可以通过修改ButtonStyle属性或在OnMouseEnter、OnMouseLeave、OnMouseDown、OnMouseUp事件中改变图片来实现。 5. **尺寸调整**:确保按钮大小能适应PNG图片,可能需要重写SizeWidth和SizeHeight方法,以自动调整...