这个问题令人困惑。在 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'));
});