onmouseout事件与onchange事件分析

今天修改Bug,新到期时间为:原到期时间+续卡时间 而不是 当前日期+续卡时间。在修改的过程中发现一个Bug。那就是续卡时间数值框我输入新数值A之后,点击窗体空白处,新到期时间并没有修改过来,

再次点击数值输入框,输入新的数值B后,新到期时间才更改过来,并且为之前的A+原到期时间。

检查代码:续卡时间框为onmouseout事件才去检查数值修改新到期时间:

 1 <td align="left">
 2                     <input type="text" id="txtNum" style="width: 20px" runat="server" disabled="disabled"
 3                         onmouseout="changeDateNum()" class="validate[custom[onlyNumber]]" />
 4                     <select style="width: 80px" onchange="changeDate()" id="selType">
 5                         <option value="0">永久</option>
 6                         <option value="y">年</option>
 7                         <option value="q">季度</option>
 8                         <option value="m">月</option>
 9                         <option value="w">周</option>
10                         <option value="d">天</option>
11                     </select>
12   </td>

我修改onmouseout为onchangge事件后,点击空白处就会更新。

这两个事件各有利弊,onmouseout事件可以在鼠标离开输入框的时候就触发,但是要是输入数值的时候鼠标箭头不在输入框内的话,点击窗体空白处都不会触发,就是输入数值的时候鼠标都不在输入框内,然后输入完成直接去保存就会出错。但是onchange事件(不同于extjs等的change事件,相应不及时,需要在离开焦点的时候触发,这一点感觉很不好不是实时相应的)响应不及时需要失去焦点时触发。

时间: 2024-10-13 07:51:50

onmouseout事件与onchange事件分析的相关文章

HTML checkbox 之 onclick事件与onchange事件

在非IE浏览器下,onclick事件与onchange会同时触发,也就是onclick一定会改变check的状态 在IE浏览器下,在点击多次时,onclick事件与onchange不会同时触发,也就是onclick事件触发之后,有一定的几率不会触发onchange事件,即不会改变check的状态,导致一些莫名其妙的错误. 建议在使用checkbox的事件的时候,尽量避免用onclick事件.

从 0 到 1 实现 react - 9.onChange 事件以及受控组件

该系列文章在实现 cpreact 的同时理顺 React 框架的核心内容 项目地址 从一个疑问点开始 接上一章 HOC 探索 抛出的问题 ---- react 中的 onChange 事件和原生 DOM 事件中的 onchange 表现不一致,举例说明如下: // React 中的 onChange 事件 class App extends Component { constructor(props) { super(props) this.onChange = this.onChange.bi

input输入框的oninput和onchange事件

oninput事件: 在用户进行输入,元素值发生改变时立即触发:(元素值改变立即触发) 缺陷: 从脚本中修改值不会触发事件.从浏览器下拉提示框里选取值时不会触发.IE9 以下不支持,所以IE9以下可用onpropertychange 事件代替 onchange事件: 在用户停止输入,元素值发生变化且input输入框失去焦点时才会触发:(元素值改变不会立即触发) 单选框与复选框改变状态后也会触发onchange事件 ********************************* onprope

input的onchange事件实际触发条件与解决方法

nput中onchange事件已经属于元老级别了,并且现在同onclick一样使用频率很高,然而onchange的机制实际上有很多童鞋并不清楚,我们通过实例来分析这个事件的特征. 触发onchange 首先页面有一个input标签,并且已绑定onchange事件,如: <input type="text" onchange="console.log(this.value);" /> 这个事件要做的动作很简单,只是把input的值在控制台上打印出来就好.效

由微服务,领域事件,分布式事件谈“业务分析三维度理论”的实践

今天读了在微服务中使用领域事件 这篇文章,通过分布式,订单系统直接将事件推送给订阅此事件的账户系统,然后账户系统再处理,整个系统设计很好. 不过,我觉得所谓微服务的分布式事件,从抽象概念上还是弱了点,不如Actor模型,应该将事件抽象成消息,消息包括命令,事件,或者其它无关紧要的东西.每一个Actor接收场景中的消息,或者产生消息,或者转发消息:消息如何处理,取决于Actor的内置规则. 所以,真实世界的模型是有很多场景,在某个场景中有些Actor,Actor相互交互,发生和改变什么东西.场景中

checkbox onchange 事件 ie 下 不能及时触发

if(templatejquery.browser.msie){                ckb.onpropertychange=function()                { UpdateEnableState(current_checklist_ID);}            }else{                ckb.onchange=function()             { UpdateEnableState(current_checklist_ID);

JQuery 绑定select标签的onchange事件,弹出选择的值,并实现跳转、传参

JQuery 绑定select标签的onchange事件,弹出选择的值,并实现跳转.传参(selected的值和页面其它元素的值) 代码如下: <script src="jquery.min.js" type="text/javascript"></script> <script language="javascript" type="text/javascript"> $(document

IE下onchange事件不立即执行

做前端开发免不了为浏览器的兼容而劳神,所以坚持把发现的浏览器兼容问题做做总结,是很有意义的. 比如IE8及以下的浏览器的onchange事件实在该控件失去焦点之后才执行的,也就是要点一下空白的地方,才能执行.解决办法很简单,改成onclick事件就好了. 来看个例子: <!DOCTYPE html><html><head lang="en">    <meta charset="UTF-8">    <title

onchange 事件

定义和用法 onchange 事件会在域的内容改变时发生. 语法 onchange="SomeJavaScriptCode" 参数 描述 SomeJavaScriptCode 必需.规定该事件发生时执行的 JavaScript. 支持该事件的 HTML 标签: <input type="text">, <select>, <textarea> 支持该事件的 JavaScript 对象: fileUpload, select, te