首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >重新运行Jquery函数onclick

重新运行Jquery函数onclick
EN

Stack Overflow用户
提问于 2016-10-07 08:00:44
回答 1查看 1.1K关注 0票数 0

我有一个简单的jquery脚本,可以更改图像的url路径。唯一的问题是在我点击load more按钮后不适用。因此,我正在尝试一种变通方法,即在单击按钮后再次调用脚本。

代码语言:javascript
运行
复制
<script type='text/javascript'>
$(document).ready(function ReplaceImage() {
    $(".galleryItem img").each(function() {
        $(this).attr("src", function(a, b) {
            return b.replace("s72-c", "s300")
        })
    })
});
</script>

HTML

代码语言:javascript
运行
复制
<a href="javascript:;" onclick="ReplaceImage();">Load More</a>
EN

回答 1

Stack Overflow用户

发布于 2016-10-07 08:37:29

虽然Keith的答案会让你得到你想要的东西,但我真的不能推荐这种方法。有了这样的东西,你会过得更好。

代码语言:javascript
运行
复制
<script type="text/javascript">
$(function() {

    var replaceImage = function() {
        $('.galleryItem img').each(function() {
            $(this).attr('src', function(index, value) {
                return value.replace('s72-c', 's300');
            });
        });
    };
    replaceImage();

    $('.js-replace-image').on('click', replaceImage);

});
</script>

使用此html

代码语言:javascript
运行
复制
<button class="js-replace-image">Load More</button>

通过采用这种方法,您不会在window对象上公开任何全局变量,如果您使用的其他库(或开发人员)没有很好地管理它们的全局变量,这可能是一个问题。

此外,通过使用类名并通过JavaScript将事件处理程序绑定到DOM节点,可以进一步证明自己的能力。还允许您轻松地将此功能添加到更多按钮,但只需添加一个类即可。

我将锚标记更新为一个按钮,因为您需要做的语义-它不会链接到任何地方,它只是页面上的动态功能。这就是按钮的最佳用途。

我也建议你把这个放在你网站的页脚,因为根据你的情况,你已经可以在不点击按钮的情况下正确更新图片了。如果您在加载后动态地在页面上插入更多图像,或者如果此脚本位于文档的头部(这意味着jQuery还不知道这些图像),则只需要使用该按钮。

我希望这对你有帮助,如果你有问题,请联系我。

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

https://stackoverflow.com/questions/39907402

复制
相关文章

相似问题

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