サムネイルのクリックイベントを無効にして、ホバーイベントに置き換えるギャラリープラグインをハッキングしています。ハック:jQueryでクリックを無効にする
これは私がやったことです:http://jsbin.com/enezol/3
$(function() {
var galleries = $('.ad-gallery').adGallery();
$('.ad-thumb-list a').hover(function() {
$(this).click();
});
$('.ad-thumb-list a').click(function() {
return false;
});
});
プラグインは、私が使用してイベントを設定することはできません。したがって、コードから変更するのではなく、ちょうどその上にちょっとした微調整を追加します。
「サムネイル」のクリックイベントを無効にして、代わりに「ホバー」イベントを使用したいとします。
アイデアはありますか?私は私の要件を満たしている限り、他のアプローチにも開いています。
ありがとうございました!
ステフSkardalとNicosunshineの提案を実装しようと:
var thumbs = $('.ad-thumb-list a'),
oldfunction = thumbs.data("events").click["function() { context.showImage(i); context.slideshow.stop(); return false; }"];
thumbs.unbind("click").hover(oldFunction);
編集:私の解決策:
私はURLにアクセスしてから、それを制限する場合はfalseを返す使用しますが、それがありません関数を呼び出す際に制限しません。任意の代替アイデア?
var galleries = $('.ad-gallery').adGallery();
var thumbs = $('.ad-thumb-list a');
thumbs .hover(
function() {
$(this).click();
},
function() {
}
);
thumbs.click(function() { return false; });
試し '$(「本」)トリガーを;' – mgraph
は、あなたがにホバリングをしたいと言っています''要素の自動クリックが発生しますが、同時にユーザーは手動でそれをクリックできません。 '.hover()'に一つの関数だけを渡すと、関数はmouseenterとmouseleaveの両方で呼び出されることに注意してください。 @mgraph - '.click()'はparamsなしで '.trigger( 'click')'へのショートカットで、 '$( 'this')'は 'this'の周りに引用符を入れてはいけません。 – nnnnnn
はい、それは私がやろうとしていることです。引用符とホバーを指してくれてありがとう。 – Pennf0lio