我想在页面上的文本被选中后调用一个函数。
我这样做:
$('*').on('mouseup', function( e ) {
switch ( e.which ) {
case 1:
console.log( 'вызываем функцию' );
break;
}
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<body>
<p>текст для тестирвания</p>
</body>
如您所见,该函数被调用了 3 次。
这是为什么?如何预防?
通过将
*它用作选择器,您的函数将在整个文档上触发,在每个嵌套级别,这就是发生的情况。如果您指定为选择器,直接指定文本所在的选择器,它将根据您的需要工作一次。