0

我有一个 Wordpress 网站,该网站在所有用户可见的页面上有一个画廊。

这个想法是,如果非会员点击画廊缩略图,他们会被重定向到注册页面。如果用户登录,图像将照常显示在灯箱中。

我正在使用这个 jQuery 代码并且无法让 preventDefault 位工作 - 我认为这是因为它在条件内。

$('.ngg-gallery-thumbnail a').on('click', function(event){

        if (!$('body').hasClass('logged-in')) {
            alert('Not logged in!');
            event.preventDefault();
        }
    });

此外,我很确定使用 PHP 会有一种更安全的方法 - 如果有人能指出我正确的方向,我将不胜感激!

4

2 回答 2

1

方法的正确格式on()是这样的:

$('.ngg-gallery-thumbnail').on('click', 'a', function(){
    if (!$('body').hasClass('logged-in')) {
        alert('Not logged in!');
        return false;
    }
    return true;
});

另外,这里不需要preventDefault()方法,因为你在return false这里使用。

Returningfalse在调用时执行三个任务:

  1. event.preventDefault();
  2. event.stopPropagation();
  3. 停止回调执行并在调用时立即返回。
于 2013-05-07T14:11:09.467 回答
1

试试喜欢

$('.ngg-gallery-thumbnail a').on('click', function(event){
    event.preventDefault();
    if (!$('body').hasClass('logged-in')) {
        alert('Not logged in!');
        return false;
    }
    $(this).addClass('lightbox');
});

之前不要给灯箱类,先检查条件,如果满足,再为灯箱添加类

于 2013-05-07T13:56:49.417 回答