0

我有一个表单中的按钮,单击该按钮会将变量发送到 javascript 函数。当变量等于“链接”时,我想调用一个名为 makeLink() 的 jquery 函数。

这就是我所拥有的:

function getText(change)
{
   if(change == "link")
   {
      //call jquery function called makeLink()

   }

}

这是我的 jquery 函数,它创建一个带有表单的模式弹出窗口:

$(document).ready(function(){

function makeLink() {
    if ($("#makeALinkModalPopup").is(":hidden")){
    $("#makeALinkModalPopup").fadeIn("slow");

     $("#backgroundPopup").css({  
        "height": document.documentElement.offsetHeight

      });

    $("#backgroundPopup").css({"opacity": "0.7"});
    $("#backgroundPopup").fadeIn("slow"); 

        }

    }


});

谢谢你的帮助。

4

4 回答 4

2

删除 document.ready 包装以使 makeLink 可用于页面的其余部分

    function getText(change){
      if(change == "link") {
      //call jquery function 

        makeLink()

      }
    }


    function makeLink() {
      if ($("#makeALinkModalPopup").is(":hidden")){
        $("#makeALinkModalPopup").fadeIn("slow");

        $("#backgroundPopup").css({  
          "height": document.documentElement.offsetHeight

        });

        $("#backgroundPopup").css({"opacity": "0.7"});
        $("#backgroundPopup").fadeIn("slow"); 

      }
    }
于 2012-08-02T21:10:45.790 回答
1

将 makeLink 移动到全局范围并正常调用它。只有 JavaScript 函数。您看到的区别只是范围。

在此处阅读有关范围的信息。

正如其他人所说,删除 document.ready 包装。您的函数不需要在那里定义,因为它不能在 document.ready 之外看到。

于 2012-08-02T21:10:07.630 回答
0

您不应在文档就绪事件中定义函数,而应在单独的文件中定义该函数。

然后,你在哪里:

//call jquery function called makeLink()

就放

makeLink()
于 2012-08-02T21:09:55.990 回答
0

你不需要准备好dom。

只要有

function makeLink() {
    if ($("#makeALinkModalPopup").is(":hidden")){
    $("#makeALinkModalPopup").fadeIn("slow");

     $("#backgroundPopup").css({  
        "height": document.documentElement.offsetHeight

      });

    $("#backgroundPopup").css({"opacity": "0.7"});
    $("#backgroundPopup").fadeIn("slow"); 

        }

    }

只要有

function getText(change)
{
   if(change == "link")
   {
      makeLink();

   }

}

如果您想在 dom 上使用该功能,那么您需要这样做。

$(document).ready(makeLink);<我可能在语法上错了,但为了安全起见,我知道这行得通..

$(document.ready(function(){
// do what ever you want
//even call make link

makeLink();
}
于 2012-08-02T21:12:09.370 回答