好的,那么具体的问题……在伙伴出版社的global.js中,我们发现了这个...
/* Textarea focus */
jq('#whats-new').focus( function(){
jq("#whats-new-options").animate({
height:'40px'
});
jq("form#whats-new-form textarea").animate({
height:'50px'
});
jq("#aw-whats-new-submit").prop("disabled", false);
var $whats_new_form = jq("form#whats-new-form");
if ( $whats_new_form.hasClass("submitted") ) {
$whats_new_form.removeClass("submitted");
}
});我关心的是动画。我想通过一个单独的jQuery文件完全取消它们(这样就不会弄乱BuddyPress的文件)。我尝试复制代码行并使用.stop()、.stop(true)甚至.clearQueue()的变体,但都没有成功。有没有办法取消或完全阻止这一事件?我还要补充的是,我有一个单独的脚本运行,当它被使用时自动调整文本区域的大小,这就是为什么我不想要调整,也不想限制文本区域的大小。我遇到的问题是,根据global.js的指示,当用户在文本区之外单击(模糊),然后在文本区重新单击(焦点)时,文本区的大小再次调整为50px。
发布于 2014-10-27 13:53:19
Andrew Parris,你试过.finish()方法吗?.finish()在一个元素上被调用,当前运行的动画和所有排队的动画(如果有)立即停止,它们的CSS属性被设置为它们的目标值。所有排队的动画都将被删除。
发布于 2014-10-27 14:26:15
您是否可以使用重要规则覆盖css中元素的样式,甚至可以使用此样式添加一个类。这将确保所有id为40px的元素都不会被调整大小。
#whats-new-options {
height: 40px !important;
}您还可以考虑使用jQuery unbind方法从元素中删除事件。
发布于 2014-10-27 16:22:06
尝试下面的代码
jq('#whats-new').unbind('focus')这将从jq('#whats-new')中删除focus event
https://stackoverflow.com/questions/26581807
复制相似问题