jquery对话框可拖动功能不起作用

jquery dialog box draggable feature not working

本文关键字:功能 不起作用 拖动 对话框 jquery      更新时间:2024-03-04

我有一个javascript文件,其中包含以下带有文本区域和按钮的弹出对话框div标记的jquery代码。我想让这个弹出窗口可拖动,但即使使用了draggable:true功能,并使用父div标记启用了可拖动功能,它也不起作用。。。。。有什么建议吗?

 $(".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();
      }
    });

当你有一个带有"双引号的字符串时,最好将'单引号括起来,这是一种避免错误的方法。

更改线路

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+'">')