jQuery事件的Meteor执行

Meteor execution of jQuery events

本文关键字:执行 Meteor 事件 jQuery      更新时间:2023-09-26

我正在努力了解如何在流星中正确执行jQuery代码。我有一些非常简单的失败例子。这是我的观点:

    <template name="fixedSidebar">
        <div data-spy="affix" class="bs-docs-sidebar col-md-2 sidebar">
          <ul class="nav bs-docs-sidenav navbar-li menuList">
            <li>
              <a href="#alerts" id="testID">Alerts</a>
            </li>
            <li>
              <a href="#contacts">Contacts</a>
            </li>
            <li>
              <a href="#chats">Chats</a>
            </li>
            <li>
              <a href="#projects">Projects</a>
            </li>
          </ul>
          <div id="target">
              Click here
          </div>
        </div>
    </template>

这是JQuery:

    if (Meteor.is_client) {
        Template.fixedSidebar.rendered = function(){
            $(".menuList").click(function(){
                alert("Content has been clicked");
            });
            $("#testID").click(function(){
                alert("Alerts has been clicked");
            });
            $( "#target" ).click(function() {
              alert( "Handler for .click() called." );
            });
        };
    }

这些点击事件都没有触发警报。我也会关注流星事件,但我想知道为什么我的JQuery没有运行。我已经确认js文件正在被流星加载。

可能实现Meteor.isClient和Meteor.is Server的最简单方法,也是我书中的最佳实践,就是在根目录Client和Server中创建两个文件夹。然后,客户端的所有内容都放在client文件夹中,服务器端的所有内容也放在server文件夹中。如果这样做,您不必使用Meteor.isClient或Meteor.is Server。

此外,您还可以创建一个名为shared的文件夹,并将客户端和服务器都使用的代码放在其中。