我正在尝试运行显示和隐藏表单的jQuery代码块,但是找不到让Meteor在客户端运行代码的方法。这是我目前正在尝试使用的代码:

if (Meteor.isClient) {
    Template.post.onRendered(function(){
      $(document).ready(function(){
        $('.replybtn').click(function(){
          if( $(this).parent().next().css('display') === 'none' ){
            $(this).parent().next().css('display', 'block');
          } else {
            $(this).parent().next().css('display', 'none');
          }
        });
      });
    });
}


我还尝试将代码放在script标签中,该标签无效。奇怪的是,仅将代码的jQuery部分粘贴到浏览器控制台中就可以正常工作-这意味着该错误很可能是我在Meteor中运行代码的方式,而不是jQuery本身。另外,我已经确认模板名称正确,并且没有想到可能导致此问题的任何其他问题。关于为什么jQuery代码可能未运行的任何想法?

最佳答案

这可能不是最好的解决方案,但是似乎可以通过定义一个创建事件侦听器的函数,然后设置2秒超时以使用setTimeout()运行该函数来解决此问题。

08-25 11:10
查看更多