下面的jQuery代码有什么问题?

时间:2013-07-29 10:48:32

标签: jquery

我无法在以下代码中跟踪错误。我尝试使用firebug,但仍然无法获得该bug。你能帮我识别一下吗?

$("#preview_newsletter").click(function() {
      $( "#newsletter_preview" ).dialog({
      height: 140,
      modal: true
      });
    });

3 个答案:

答案 0 :(得分:2)

等待DOM准备好了:

$(function () {
    $("#preview_newsletter").click(function () {
        $("#newsletter_preview").dialog({
            height: 140,
            modal: true
        });
    });
});

您的选择器意味着您有一个带有ID preview_newsletter的元素和一个带有ID newsletter_preview的元素。所以当然,你需要DOM中的两个元素。

如果在主体的结束标记之前的脚本标记中设置代码,则无法使用就绪处理程序:</body>

答案 1 :(得分:0)

错误是您不包括UI script

包含jQuery UI 1.9.2脚本

$(function(){
  $("#preview_newsletter").click(function() {
    $("#newsletter_preview").dialog({
      height: 140,
      modal: true
    });
   });
});

Demo

答案 2 :(得分:0)

我不确定这一点。我想你正试图点击#preview_newsletter打开一个对话框窗口。

您必须在文档准备就绪时定义对话框。然后在click事件上打开它。在定义时不要打开它。

    var dialog  = "";
    $(document).ready(function() {

        dialog = $( "#newsletter_preview" ).dialog({
            height: 140,
            modal: true,
            // code for preventing open it
        });
    });

    $("#preview_newsletter").click(function() {
        dialog.open()
    })