jQuery事件的布尔组合

时间:2018-08-13 17:51:00

标签: jquery javascript-events event-handling

我想知道结合基本jQuery事件的最佳方法是什么。

例如,如果我想跑步

function(e) {
  console.log(e.pageX)
}

两者都

$('selector').mousedown

$('selector').mousemove

或何时

$('selector').mouseup

我知道

$('selector').on('mousemove 'mouseup', ...)

但这使我的事件处理程序响应mousemovev或mouseup,而无需验证“ mousemove”时是否验证鼠标是否处于按下状态。

是否有一种规范的方法可以组合事件侦听器以反映所需的逻辑?

编辑: 对于我正在构建的应用程序,我试图在用户突出显示页面上的文本时不断更新表单的隐藏字段,从而实现所需的事件组合。在我的示例中,我试图从项目的特定功能中抽象出来,以使问题的本质更加明显,并更容易适应未来读者的需求。

1 个答案:

答案 0 :(得分:0)

尝试一下此代码。我想这接近您想要的。基本上,我仅在触发mousedown时绑定mousemove函数。 mouseup用于处理文本突出显示的结尾。祝你好运!

$(document).ready(function(){

$(document).mousedown(function(){
	$(document).bind( "mousemove", function() {
  		console.log(window.getSelection().toString());
	});
});

$(document).mouseup(function(){
	$(document).unbind("mousemove");
});

});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<p>Hello, world!</p>