首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何防止特定的.animate()通过单独的jQuery脚本运行

问如何防止特定的.animate()通过单独的jQuery脚本运行
EN

Stack Overflow用户
提问于 2014-10-27 13:48:44
回答 4查看 193关注 0票数 0

好的,那么具体的问题……在伙伴出版社的global.js中,我们发现了这个...

代码语言:javascript
复制
/* 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。

EN

回答 4

Stack Overflow用户

发布于 2014-10-27 13:53:19

Andrew Parris,你试过.finish()方法吗?.finish()在一个元素上被调用,当前运行的动画和所有排队的动画(如果有)立即停止,它们的CSS属性被设置为它们的目标值。所有排队的动画都将被删除。

票数 0
EN

Stack Overflow用户

发布于 2014-10-27 14:26:15

您是否可以使用重要规则覆盖css中元素的样式,甚至可以使用此样式添加一个类。这将确保所有id为40px的元素都不会被调整大小。

代码语言:javascript
复制
#whats-new-options {
  height: 40px !important;
}

您还可以考虑使用jQuery unbind方法从元素中删除事件。

票数 0
EN

Stack Overflow用户

发布于 2014-10-27 16:22:06

尝试下面的代码

代码语言:javascript
复制
jq('#whats-new').unbind('focus')

这将从jq('#whats-new')中删除focus event

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/26581807

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档