在哪里放我的$(文件).ready(function(){当我在.js中有方法时

Pos*_*Guy 9 jquery

我创建了somefile.js,其中somefile.js包含一些jQuery方法.所以例如它包含这个功能:

function showWindow(divID)
{
    var dialogDiv = $(divID);

    dialogDiv.dialog
    (
        {
            bgiframe: true,
            modal: true,
            autoOpen: false,
            show: 'blind'
        }
    )

    dialogDiv.dialog("open");
}
Run Code Online (Sandbox Code Playgroud)

所以在我的.aspx页面(或者其他什么,它可能是.html),我有一个按钮:

<input type="button" onclick="showPopUp('testDiv')" value="Click Me!" />
Run Code Online (Sandbox Code Playgroud)

我的问题是,我们将在我们的应用程序中使用showPopUp.如果从onClick事件中调用它,那么我在哪里放置我的$(document).ready(function(),因为这段代码不在页面中,而是在.js文件中?

Dav*_*mas 5

把$(document).ready(...);中head的(X)HTML页面(或者更确切地说,.PHP,的.aspx等)为正常的,只是只要你确保它自带的链接后script文件(加载您somefile.js)和当然,你的jQuery的链接:

<head>
...
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="somefile.js"></script>

<script>
    $(document).ready(
     function() {
        $('input[type=button]').click().showPopUp('testDiv');
     }
    )
</script>

</head>
Run Code Online (Sandbox Code Playgroud)


编辑注意到我觉得我在你的问题中遗漏了一些明显的东西.如果我完全明显并且错过了你的观点,请发表评论......


Qua*_*kle 5

如果需要,您可以将其放在Javascript文件中.如果您使用onclick属性附加侦听器,则实际上不需要使用$(document).ready().

但是,通常认为不使用onclick属性更好的形式,并在Javascript中附加监听器,如下所示:

<input type = "button" class = "showPopup" id = "testDiv" value = "Click Me!" />

$(document).ready(function(){
  $("input.showPopup").click(function(){
    showWindow($(this).id);
  }

  function showWindow(id){...}
}
Run Code Online (Sandbox Code Playgroud)

你可以把那个javascript放在文件的头部,比如〜ricebowl说.