从'外部'调用自定义函数中的函数

Calling function in custom function from 'outside'

本文关键字:函数 外部 调用 自定义函数      更新时间:2023-09-26

我刚刚问了这个问题(在自定义函数中调用函数),以找出如何在自定义函数中调用函数,它工作得很好。然而,我想在我的HTML中也使用我的onClick上的prepareSlide函数。如何在itemSlider函数中调用prepareSlide ?

jQuery('.item_holder').itemSlider();
$.fn.itemSlider = function (details) {
    var itemHolder = this;
    this.prepareSlide = function(slideNumber) {
        alert(1);
    }
    itemHolder.prepareSlide(1);
}

itemSlider函数在滑动条的底部添加分页,使用onClick立即导航到某个幻灯片(这就是它应该如何工作的至少),如下所示:

<a href="#" class="number" onclick="prepareSlide(1);" id="number_1">&nbsp;</a>

你不能将它添加到onClick事件中,即使你可以,你也不应该这样做。

您编写的函数将prepareSlide()功能添加到jQuery中,这意味着它需要在jQuery对象上调用。您将无法在jQuery之外访问该方法。

这实际上是一件好事,因为你不应该在你的HTML中使用onClick属性。jQuery的事件处理模型更强大、更灵活,可以通过以下方式访问:

$('#number_1').on('click', function () {
     $('.item_holder').prepareSlide(1);
});

这实际上是(IMHO) jQuery最有用的功能之一,方便访问事件和文档对象模型。如果你有野心,你可以将选择器更改为$('.number')并调整代码以从id字段提取数字,并在3或4行代码中覆盖整个列表。