我有一个javascript文件,其中包含以下用于弹出对话框div标签的jquery代码,其中包含textarea和一个按钮。我想让这个弹出窗口可拖动,但是即使在使用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();
}
});
答案 0 :(得分: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+'">')