0

我的 jquery 函数有一些问题。首先,这是我的 HTML 头

<link href="css/bootstrap.css" media="screen" rel="stylesheet">
    <link href="css/datepicker.css" media="screen" rel="stylesheet">
    <link rel="stylesheet" type="text/css" media="screen" href="css/bootstrap-datepicker.min.css">
    <link rel="stylesheet" type="text/css" media="screen" href="css/bootstrap.min.css">
    <script src="http://code.jquery.com/jquery.js"></script>
    <script src="js/bootstrap.min.js"></script>
    <script src="js/bootstrap-datepicker.js" type= 'text/javascript'></script>
    <script src="js/bootstrap-tooltip.js" type= 'text/javascript'></script>

    <script src="js/buttons.js"></script>

这是我的 button.js 文件中的代码

$(window).load(
    function(){
        ...
        $(document).on('click', '.popover a', function(){
            alert("asd");
        });

        $('#button_nowtime').popover({
            trigger: 'click',
            html: 'true',
            title:  "<b>Čas</b>",
            content: 
            function() {
                var returnstring="",button;
                    for(var i=0; i<files.length; i++){
                        button = document.createElement("a");  
                        button.innerText = "someText"
                        button.href="#";
                        returnstring+=button.outerHTML;
                    }
                return returnstring;
            }
        });
   }
);

html

<a href="#" id="button_nowtime" class="btn btn-lg btn-danger" data-placement="bottom" data-toggle="popover" title="" >N/A</a>

问题是,当我单击工具提示中的任何按钮时,不会弹出警报(“asd”)

4

2 回答 2

1

您应该使用 $.ready 而不是 window.load,可能您的代码不起作用,因为 window.load 在您的对象存在之前发生。http://www.dotnetbull.com/2013/08/document-ready-vs-window-onload.html

此示例适用于 http://jsfiddle.net/nWKqt/

[ignore this - just including a code block so stackoverflow will let me post the above JSFiddle link. Yeah, seriously.]

此外,您编写了一个代码,该代码依赖于一个不是由您定义而是从一个 jquery 插件定义的类,您在声明事件后触发该插件。

尝试在声明 popover 插件后放置 click 事件,但更好的是定义您的 cssClass 并依赖它。

于 2013-10-31T09:03:24.690 回答
0

为什么不使用这个:

 $(".popover a").click( function(){
            alert("asd");
        });

旧方法效果很好..

于 2013-10-31T09:02:06.247 回答