使用onmousedown
和onmouseup
事件。
在onmousedown
开始一个间隔并停止它onmouseup
。
这是一个使用 jQuery 的小例子:
HTML:
<button class="zoomButton" data-zoom="out">Zoom Out</button>
<button class="zoomButton" data-zoom="in">Zoom In</button>
JavaScript:
var zoomIntervals = {};
$('.zoomButton').on('mousedown', function() {
var mode = $(this).data('zoom');
zoomIntervals[mode] = setInterval(function() {
// here you perform your action.
// check if mode == 'in' or mode == 'out' to determine if
// the user is zooming in or out
}, 100);
}).on('mouseup', function() {
var mode = $(this).data('zoom');
clearInterval(zoomIntervals[mode]);
del zoomIntervals[mode];
});
如果您不(想要)使用 jQuery,请使用addEventListener()
来注册事件并直接访问数据属性(与旧浏览器不兼容)或使用例如 ID 属性来识别按钮。