遇到一个问题,代码如下:
<style>
#spSub, #spAdd, #inputDiv {
display: inline-block;
}
input {
}
</style>
<body>
<div id="spSub" class="shopcart-add">
<span class="glyphicon glyphicon-minus-sign"></span>
</div>
<div id="inputDiv">
<input type="tel" id="buyNum" class="form-control" style="width:60px" value="1" />
</div>
<div id="spAdd" class="shopcart-minus">
<span class="glyphicon glyphicon-plus-sign"></span>
</div>
<script>
$(document).ready(function () {
localStorage.getItem('#buyNum');
var buyNums = $("#buyNum").val();
var cNum = localStorage.getItem('#buyNum');
if (buyNums == null || buyNums.length == 0 || buyNums == 'null' || buyNums == '' || buyNums == 1) {
if (cNum == null || cNum == 'null' || cNum == '') {
$("#buyNum").val(1);
} else {
$("#buyNum").val(localStorage.getItem('#buyNum'));
};
};
$("#buyNum").bind('input propertychange', function () {
var changeNum = $("#buyNum").val();
if (changeNum != localStorage.getItem('#buyNum')) {
localStorage.setItem('#buyNum', changeNum);
alert(changeNum);
};
});
$("#spAdd").bind("click", function () {
$("#buyNum").val(parseInt($("#buyNum").val()) + 1)
});
$("#spSub").bind("click", function () {
var num = parseInt($("#buyNum").val()) - 1;
if (num > 0) {
$("#buyNum").val(parseInt($("#buyNum").val()) - 1)
}
});
});
</script>
</body>
oninput和onpropertychange在改变input的value时确实起作用了,但是在js控制加减按钮改变input的value的时候,没法监测到input的value值发生改变。
请问:有什么办法能监测到js改变value值吗?
换了个思路,功能已实现,代码如下:
有兴趣的可以跑代码试试,不要说什么插件之类的,自己引入jq和bootstrap,加上问题中的style和body代码,代码有些繁琐,因为要做本地存储。