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

时间:2013-05-03 09:18:59

标签: javascript jquery

我刚刚问了这个问题(Call function in custom function),以了解如何在自定义函数中调用函数,并且效果很好。我也希望在我的HTML中使用onClick上的prepareSlide函数。如何在此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>

1 个答案:

答案 0 :(得分:1)

您无法将其添加到onClick事件中,即使可以,也不能将其添加到onClick事件中。

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

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

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

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

相关问题