Прикрепить содержимое div внутри всплывающей подсказки - PullRequest
1 голос
/ 06 марта 2020

У меня есть div previewBox с одним inputBox (вход) и одной кнопкой (byUser) Я пытаюсь подключить всплывающую подсказку к prevBtn , и я хочу, чтобы мои поле ввода и кнопка были внутри моей подсказки. Я знаю, как подключить подсказку к элементу div, но я не совсем понимаю, как вставить поле ввода в подсказку. Если мы можем добавить поле ввода к всплывающей подсказке, предоставьте необходимую информацию. Спасибо.

var prevBtn = dojo.create("span", {innerHTML:"<a></a>Preview", className:"txtLink icon search"}, btnWrapr1);
var previewBox = dojo.create('div', { className: 'prevBox'}, this.rootNode);
            var input = new dijit.form.TextBox({
                required:true, 
                value: "",
                maxLength: 32,
                style: { width: 100+'px' } 
            }).placeAt(previewBox);
            var byUser = new at.common.form.Button({
                label: "Preview",
                onClick: dojo.hitch(this, function() {
                    //TODO
                })          
            }).placeAt(previewBox);  
            var tt = new dijit.Tooltip({
                connectId: [prevBtn],
                position: ['above'],
                getContent:[input]          
            });

Я могу предоставить любую дополнительную информацию, если есть путаница. Спасибо

1 Ответ

1 голос
/ 12 марта 2020

Это должно помочь

addTooltip: function(tt, message) {
            var thisObj = this;
            var btt = new dijit.Tooltip({
              label: message,
              connectId: tt,
              position: ['above']
            });      
        var previewBox = dojo.create('div', { className: 'prevBox'}, tt);
             var input = new dijit.form.TextBox({
                    required:true, 
                    value: "",
                    maxLength: 32,
                    style: { width: 100+'px' } 
                }).placeAt(previewBox);
              var byUser = new dijit.form.Button({
                    label: "Preview",
                    onClick: dojo.hitch(this, function() {
                        //TODO
                    })          
                }).placeAt(previewBox); 

           dojo.connect(this, "onMouseOver", this, function(evt) { 
      this.cancelTooltip = false;
      window.setTimeout( function(){ 
        if (!thisObj.cancelTooltip) 
          btt.open(previewBox); }, 400);
    });
            dojo.connect(this, "onMouseDown", this, function(evt) { 
                this.cancelTooltip = true;
                window.setTimeout( function(){ btt.close(); }, 100);      
              });
            dojo.connect(this, "onMouseLeave", this, function(evt) { 
              this.cancelTooltip = true;
              window.setTimeout( function(){ btt.close(); }, 1000);      
            });
          },
...