Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/83.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Jquery 防止单击一次后单击,直到用户再次单击另一个按钮_Jquery - Fatal编程技术网

Jquery 防止单击一次后单击,直到用户再次单击另一个按钮

Jquery 防止单击一次后单击,直到用户再次单击另一个按钮,jquery,Jquery,我制作了一个contenteditable div和一个按钮'trend',当用户单击按钮时,它将更改光标以提供帮助。每当用户右键单击或双击contenteditable div中的任何文本,该文本将显示在另一个div中时,只有在单击trend按钮后,才会发生这种情况。 当用户选择文本时,他必须再次单击趋势按钮以选择另一个文本。基本上一次只有一个文本。但在我双击多次的代码中,它是在单击趋势按钮一次后选择多个文本。 我必须在点击趋势按钮后一次选择一个文本,因为选择另一个文本用户必须再次点击趋势按钮

我制作了一个contenteditable div和一个按钮'trend',当用户单击按钮时,它将更改光标以提供帮助。每当用户右键单击或双击contenteditable div中的任何文本,该文本将显示在另一个div中时,只有在单击trend按钮后,才会发生这种情况。 当用户选择文本时,他必须再次单击趋势按钮以选择另一个文本。基本上一次只有一个文本。但在我双击多次的代码中,它是在单击趋势按钮一次后选择多个文本。 我必须在点击趋势按钮后一次选择一个文本,因为选择另一个文本用户必须再次点击趋势按钮,然后双击文本

以下是我的代码,以便更好地理解

$(“#弹出#u按钮”)。在(“单击”上,函数(e){
e、 预防默认值();
$(“#textarea”).css(“光标”、“帮助”);
$(“#textarea”).mousedown(函数(e){
如果(e.which==3){
e、 预防默认值();
document.getElementById(“textarea”).addEventListener(“contextmenu”,函数(e){
e、 预防默认值();
},假);
var text=getSelectionText(e);
//console.log(文本);
$('.show_popupmenu').css('display','block');

$('.show_popupmenu').css('left',e.pageX);//jquery如下:

    <script type="text/javascript">

        $('#popup_button').on("click", function(e){
           $("#popup_button").attr('data-clicked',true);
        e.preventDefault();
        $("#textarea").css("cursor", "help");
        $("#textarea").mousedown(function(e){
            if (e.which === 3){
                e.preventDefault();
                document.getElementById("textarea").addEventListener("contextmenu", function (e) {
                    e.preventDefault();
                }, false);
                var text = getSelectionText(e);
                //console.log(text);
                $('.show_popupmenu').css('display', 'block');
                $('.show_popupmenu').css('left',e.pageX);      // <<< use pageX and pageY
                $('.show_popupmenu').css('top',e.pageY);
                $('.show_popupmenu').css('display','inline');     
                $(".show_popupmenu").css("position", "absolute");
            }
            if (e.which === 1) {
                $('.show_popupmenu').css('display', 'none');
            }
            });


        $("#textarea").dblclick(function(e){
            e.preventDefault();



            $('#textarea').css('cursor', 'auto');
            $('.show_popupmenu').css('display', 'none');
            var text = getSelectionText();

            //console.log(text);


            if(text !== ''){


           if($("#popup_button").attr('data-clicked')=='true'){




                //console.log(text);
                $(".selected_trend").append('<div class="trends" id="trend'+text+'" data-text="'+text+'" style="width:auto; height:auto; display:inline-block;">'+text+'<p class="removetrend" data-id="'+text+'" style="display:inline-block; cursor:pointer;">&times</p></div>');
                $("#popup_button").attr('data-clicked',false);
                     }

                   }



            });

    });
  $(document).on('click','.removetrend', function(e){
        e.preventDefault();
        $(this).parent().remove();
    });
  function getSelectionText(){
        if (window.getSelection) {
            text = window.getSelection().toString();
        } else if (document.selection && document.selection.type != "Control") {
            text = document.selection.createRange().text;
        }
        return text;
    }
    </script>

$(“#弹出按钮”)。在(“单击”上,函数(e){
$(“#弹出按钮”).attr('点击数据',为真);
e、 预防默认值();
$(“#textarea”).css(“光标”、“帮助”);
$(“#textarea”).mousedown(函数(e){
如果(e.which==3){
e、 预防默认值();
document.getElementById(“textarea”).addEventListener(“contextmenu”,函数(e){
e、 预防默认值();
},假);
var text=getSelectionText(e);
//console.log(文本);
$('.show_popupmenu').css('display','block');

$('.show_popupmenu').css('left',e.pageX);//但新文本将附加在较旧的选定文本之后,而不是在每次单击“选择趋势”按钮时分配dblclick事件。这会导致在多次单击按钮后出现不需要的多个操作。移动
$(“#textarea”)。dblclick(函数(e){…}
$(“#弹出按钮”)。在(“单击”上,函数(e){…}
函数转换为一个onload函数(
$(函数(){…}
)。您可以通过使用一个标记来激活/取消激活事件,每次单击“选择趋势”按钮时都可以更改该标记。