点击输入框外一点执行操作

点击输入框外一点就执行方法的点击事件有么?或者输入框输完数据就能执行的事件,我用event{mouseover:enableDetails,mouseout:enableDetails}事件只能输完后再用鼠标移上去一次才能执行

 <div class="pe-line clear">
                <div class="pe-name">
                        采购数量:
                </div>
                <div class="pe-box">
                        <input type="text" class="ui-input goodsCount"
                                    placeholder="至少采购10吨以上"
                                    data-bind="value:caigouTon"
                                    onchange="checkfee()"
                                    id="goodsCount"
                                    name="goodsCount"
                                    style="width: 150px;" />
                        <span class="pe-n">吨</span>
                </div>
        </div>

代码是这样的,只有用data-bind="value:caigouTon,event:{mouseover:checkfee}"的时候才能执行,是不是data-bind和onchange有冲突还是什么原因呢?

1 输入框输完数据 = 输入框失去焦点,可以用 onblur 事件。

范例如下,实现效果为将输入转换为大写。

<html>
<head>
<script type="text/javascript">
function upperCase()
{
var x=document.getElementById("fname").value
document.getElementById("fname").value=x.toUpperCase()
}
</script>
</head>

<body>

输入您的姓名:
<input type="text" id="fname" onblur="upperCase()" />

</body>
</html>

2 点击输入框外一点就执行可以用 onchange 事件

范例如下:

<html>
<head>
<script type="text/javascript">
function upperCase(x)
{
var y=document.getElementById(x).value
document.getElementById(x).value=y.toUpperCase()
}
</script>
</head>

<body>

输入您的姓名:
<input type="text" id="fname" onchange="upperCase(this.id)" />

</body>
</html>

可以试试失去焦点事件能不能符合你的要求

onblur事件楼上已经说的很好了

是不是用了Knockout框架。
不太熟悉这个框架,可以模仿

 data-bind="value:caigouTon,event:{mouseover:checkfee}"

写成

 data-bind="value:caigouTon,event:{onchange:checkfee}"

试试?

1、输入完才执行,也就是失去焦点才执行,采用onblur
2、输入过程执行,也就是边输入边执行,采用onchange
3、如果是为了验证,可以直接采用input的pattern属性进行正则验证