代码
方式一:
<!DOCTYPE html>
<html>
<head>
<script src="http://libs.baidu.com/jquery/1.10.2/jquery.min.js"></script>
<title>测试</title>
</head>
<body>
<input class="et-name" type="input" name="name">
<script type="text/javascript">
$(function () {
$(".et-name").bind("input propertychange", function () {
console.log($(".et-name").val());
});
});
</script>
</body>
</html>
方式二:
<!DOCTYPE html>
<html>
<head>
<script src="http://libs.baidu.com/jquery/1.10.2/jquery.min.js"></script>
<title>测试</title>
</head>
<body>
<input class="et-name" type="input" name="name" oninput="myFun()">
<script type="text/javascript">
function myFun() {
console.log($(".et-name").val());
}
</script>
</body>
</html>
方式三:
<!DOCTYPE html>
<html>
<head>
<script src="http://libs.baidu.com/jquery/1.10.2/jquery.min.js"></script>
<title>测试</title>
</head>
<body>
<input class="et-name" type="input" name="name" onchange="myFun()">
<script type="text/javascript">
function myFun() {
console.log($(".et-name").val());
}
</script>
</body>
</html>
类似于,实现微博的‘还能输入xxx个字符’
oninput,onpropertychange,onchange的用法
onchange触发事件必须满足两个条件:
a)当前对象属性改变,并且是由键盘或鼠标事件激发的(脚本触发无效)
b)当前对象失去焦点(onblur);
onpropertychange的话,只要当前对象属性发生改变,都会触发事件,但是它是IE专属的;
oninput是onpropertychange的非IE浏览器版本,支持firefox和opera等浏览器,但有一点不同,它绑定于对象时,并非该对象所有属性改变都能触发事件,它只在对象value值发生改变时奏效。