我正在尝试运行显示和隐藏表单的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()运行该函数来解决此问题。