我正在使用以下jQuery插件,即:
http://flowplayer.org/tools/scrollable.html
我遇到的问题是,作为调用api的一部分,它似乎使我们在插件js文件中使用了onClick()
函数。
我实际上想要使用onClick
函数作为普通的javascript onClick()
函数,但我无法使用以下代码覆盖它:
// assign onClick events to existing entries
} else {
// find a entries first -> syntaxically correct
var els = nav.children();
els.each(function(i) {
var item = $(this);
item.attr("href", i);
if (i === 0) { item.addClass(conf.activeClass); }
item.click(function() {
nav.find("." + conf.activeClass).removeClass(conf.activeClass);
item.addClass(conf.activeClass);
self.setPage(item.attr("href"));
});
});
}
});
// item.click()
if (conf.clickable) {
self.getItems().each(function(index, arg) {
var el = $(this);
if (!el.data("set")) {
el.bind("click.scrollable", function() {
self.click(index);
});
el.data("set", true);
}
});
}
有没有绕过这个,以便我可以使用独立的onClick()
功能?
答案 0 :(得分:1)
您可以定义自己的点击事件处理程序并停止在那里传播事件。
$('your selector').click(function (e) {
e.stopPropagation();
});
答案 1 :(得分:1)
似乎他们没有给callback
函数回电。您可以修改他们的JS代码来执行此操作 -
item.click(function() {
nav.find("." + conf.activeClass).removeClass(conf.activeClass);
item.addClass(conf.activeClass);
self.setPage(item.attr("href"));
if(typeof(clickCallback) != "undefined") clickCallback();
});
因此,如果您的页面上定义了一个名为clickCallback
的函数,您现在可以在执行单击事件代码后处理click事件 -
function clickCallback() {
//This is the function on your page. This will be called when you click the item.
}
您不必调用clickCallback
函数,如果已定义函数库,库本身将调用该函数。