0

我正在尝试在它自己的窗口中打开一个 javascript 应用程序。我创建了一个按钮并为其附加了一个 onclick 事件,但是当我单击它时没有任何反应。我通过警报进行故障排除,但这也没有启动。

在控制台中我得到错误:jquery.min.map 404 (Not Found) 但我总是得到它,所以我通常忽略它。

<!doctype html>
<html>
    <head>
        <meta charset="utf-8">
        <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
        <meta name="description" content="$1">
        <meta name="viewport" content="width=device-width, initial-scale=1">
        <title>$2</title>

        <link rel="stylesheet" href="css/main.css">
        <script type="text/javascript" src="https://hosted.test.ca/kc/MD/SiteAssets/jquery-1.10.2.min.js"></script>
        <script type="text/javascript" src="https://hosted.teste.ca/kc/MD/SiteAssets/jquery.SPServices-2013.01.min.js"></script>
        <script type="text/javascript">
        var $launch = $('#launchButton');
            $launch.click(function(){
                alert("opening ManagementDash");
                var url = 'https://hosted.test.ca/kc/MD/SiteAssets/mgmtDash.html';
                window.open(url,'ManagementDash','toolbar=no,location=no,status=no,menubar=no,scrollbars=yes,resizable=yes,width=100%,height=100%');
                return  false;
            });
        </script>
    </head>
    <body>
    <button id="launchButton" >Launch MDash</button>
    </body>
</html>
4

2 回答 2

2

在元素加载到 dom 之前,您正在触发脚本。

尝试将您的代码包装在准备好的文档中或将其放在页面底部。

如果您检查http://jsfiddle.net/tutZE/您的代码可以正常工作,因为它会为您添加准备好的文档。

$(document).ready(function(){

var $launch = $('#launchButton');
            $launch.click(function(){
                alert("opening ManagementDash");
                var url = 'https://hosted.test.ca/kc/MD/SiteAssets/mgmtDash.html';
                window.open(url,'ManagementDash','toolbar=no,location=no,status=no,menubar=no,scrollbars=yes,resizable=yes,width=100%,height=100%');
                return  false;
            });

});

另一种选择是在 jquery 中使用 .on 或委托方法方法

http://api.jquery.com/on/

http://api.jquery.com/delegate/

于 2013-10-03T15:22:20.477 回答
1

确保您已加载 jQuery 并将您的脚本包装在$( document ).ready函数中。

$( document ).ready(function() {

            var $launch = $('#launchButton');

            $launch.click(function(){
                alert("opening ManagementDash");
                var url = 'https://hosted.test.ca/kc/MD/SiteAssets/mgmtDash.html';
                window.open(url,'ManagementDash','toolbar=no,location=no,status=no,menubar=no,scrollbars=yes,resizable=yes,width=100%,height=100%');
                return  false;
            });

 });
于 2013-10-03T15:24:29.490 回答