2016-04-07 41 views
0

我有一個JavaScript文件,其中包含以下jquery代碼彈出對話框div標籤與textarea和一個按鈕。我想使這個彈出可拖動,但即使使用draggable:true功能,並使用父div標籤使其可拖動功能真正無效.....任何建議?jquery對話框拖動功能不工作

$(".showDialog").click(__bind(function() { 

    var element, dialogId, textareaHtml; 

    dialogId = "" + this.namespace + "dialog"; 
    textareaHtml = "<textarea style=\"width: 564px; height: 242px;\" id=\"textareadialog\" name=\"description_dialog_textarea\">" + ($("#description").val()) + "</textarea><input readonly type=\"text\" class=\"counter\" name=\"counter\" size=\"4\" maxlength=\"4\" value=\"4000\">; 
    $("<div id=\"" + dialogId + "\>").html(textareaHtml).dialog({ 
     autoOpen: true, 
     title: "Description", 
     modal: true, 
     width: 625, 
     height: 360, 
     draggable: true, 
     buttons: { 
     save: __bind(function() { 
      var val; 
      val = $("#textareadialog").val(); 
      $("#description").val(val); 
      $("#description_fake").html(val); 
      $("#description_fake").attr("title", val); 
      $('#' + dialogId).dialog("close"); 
      $('#' + dialogId).remove(); 
      this.makeDescriptionCluetips(); 
      return this.update(); 
     }, this) 
     }, 
     close: function() { 
     return $('#' + dialogId).remove(); 
     } 
    }); 
+0

您在缺少報價'textareaHtml'定義的結尾。這只是一個錯字嗎? – RRK

+0

是的,這是一個錯字... – Phoenix

回答

0

總是好的,而你有"雙引號,它的破解,以避免錯誤的字符串包圍'單引號。

更改線路

textareaHtml = "<textarea style=\"width: 564px; height: 242px;\" id=\"textareadialog\" name=\"description_dialog_textarea\">" + ($("#description").val()) + "</textarea><input readonly type=\"text\" class=\"counter\" name=\"counter\" size=\"4\" maxlength=\"4\" value=\"4000\">; 
$("<div id=\"" + dialogId + "\>").html(textareaHtml).dialog({ 

textareaHtml = '<textarea style="width: 564px; height: 242px;" id="textareadialog" name="description_dialog_textarea">'+$("#description").val()+'</textarea><input readonly type="text" class="counter" name="counter" size="4" maxlength="4" value="4000">'; 
$('<div id="'+dialogId+'">').html(textareaHtml).dialog({ 

還有,如果你說,你的目標ID,然後直接使用$("#"+dialogId)代替$('<div id="'+dialogId+'">')

+0

改變它後代碼變得完全沒有反應。彈出窗口本身不起作用..控制檯中沒有錯誤.. – Phoenix

+0

什麼是你的編輯?你可以請添加到一個小提琴的封閉看看.. – ameenulla0007

+0

我試着你已經放在答覆相同的代碼... – Phoenix