0

我刚刚问了这个问题(自定义函数中的调用函数),以了解如何在自定义函数中调用函数,并且效果很好。但是,我也想prepareSlide在我的 HTML 中的 onClick 上使用该功能。我怎样才能prepareSlide在这个itemSlider函数中调用?

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>
4

1 回答 1

1

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

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

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

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

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

于 2013-05-03T09:40:20.927 回答