这个问题令人困惑。在jsfiddle上它有效http://jsfiddle.net/mdanz/aXjH5/16/。
当您按#bid-up
时,数字应该上升并在mouseup / mouseleave上停止。
在我的网站上,mouseup / mouseleave不起作用,firebug中没有错误。此外,如果我从.live()
中移除#bid-up
而只执行$('#bid-up').mousedown(function() {
#bid-up
按钮不起作用。关于什么是错的任何想法,问题是否可以联系起来?我不能发布链接到网站,因为我还在开发它。
HTML:
<div id='bid-child-container-2'><input type='text' style='color:#707070;font-size:26px;margin-right:5px;text-align:center;width:100px;font-family:arial;' id='bid-price' readonly value='5.1' />
</div>
<div id='bid-child-container-3'>
<div id='bid-up' style='color:#707070;font-size:14px;font-family:arial; cursor:pointer; margin-top:20px; border:1px solid #707070; width:100px; text-align:center;' data-on='1'>up</div>
</div>
JavaScript的:
$('#bid-up').live('mousedown', function() {
var button = $(this);
button.data('interval', setInterval(function() {
var number = button.parent('div').siblings('#bid-child-container-2').find('#bid-price').val();
var newnumber = number.split('.');
var on = button.attr('data-on');
button.siblings('#bid-down').attr('data-on', '1');
if (newnumber[1] < 9) {
var first = newnumber[0];
var second = parseInt(newnumber[1]) + 1;
}
if (newnumber[1] == 9) {
var first = parseInt(newnumber[0]) + 1;
var second = 0;
}
var finalnumber = first + '.' + second;
button.parent('div').siblings('#bid-child-container-2').find('#bid-price').val(finalnumber);
}, 200));
}).bind('mouseup mouseleave', function() {
clearInterval($(this).data('interval'));
});