0

リンクを動的に作成したいページを作成しています。だから私は、作成するリンクの名前を尋ねるポップアップ div を表示するボタンをクリックすると (ポップアップ div を動的に作成する関数 fnLink() を呼び出します) 持っています。Popup-div には、保存およびキャンセル ボタンがあります。保存ボタンをクリックすると、その入力テキストをリンクに変換し、テキスト領域を提供してリンクに説明を追加する必要があり、ポップアップが削除/非表示になります。popup-div は作成されていますが、保存をクリックしてもリンクもテキストエリアも作成されず、キャンセルをクリックしても削除されません。これが機能しない理由を誰か教えて、問題を解決するのを手伝ってもらえますか? ポップアップを単に表示および非表示にする1つのリンクを作成する場合、コードは正常に機能していましたが、複数のリンクを作成するために、動作していないポップアップを動的に作成および削除しています!!

      $('#link_save_btn').click(function(){
fnLinkSave(); 
    });

    function fnLink($this){
           var $div = $(document.createElement('div')).attr("id", 'save_link');
         $div.html('  <input type="text" id="link_header" style="position: 
                absolute; height: 21px;width: 185px;"/>  
                <img id="popup" src="popup.png" style ="position: absolute;"/>   
                <img id="save" src="save.jpg" style="position: absolute;" /> 
                <img id="cancel" src="cancel.jpg" style ="position: absolute;" />');
           $div.appendTo("#page");
           $("#page").trigger('create');        
          }

        function fnLinkSave(){
    // $('#save_link').hide();
    $div.remove(); 
     var l = $('#link_header').val();
     $('<a/>', {href:'#', text: l}).appendTo('#page');  
     var newTextAreaDiv = $(document.createElement('div')).attr("id", 'TextAreaDiv' +
              numTextAreaCounter);
     newTextAreaDiv.html('<textarea rows="1" style=" max-height:100%; max-width: 
        100%; ' + ' id = "textbox' + numTextAreaCounter + ' " autofocus></textarea>');
     newTextAreaDiv.className='notes_textarea';
     newTextAreaDiv.appendTo("#page");
     $("#page").trigger('create');
   } 
4

2 に答える 2

1

保存ボタンをクリックすると、$div が削除されます。それではどのように機能しますか?

$div.remove(); 

また、 $div は別の関数のローカル変数であり、グローバルに使用できるようにします。

var $div;

そしてあなたの機能の中で、書くのではvar $div =なく、単に$div =

于 2013-06-13T07:43:51.573 に答える