【问题标题】:Create highslide clicks events in jQuery(document).ready在 jQuery(document).ready 中创建 highslide 点击事件
【发布时间】:2023-03-30 15:56:01
【问题描述】:

我有以下html代码

<td><a href="url_to_large_image" class="myClass"><img alt="" src="url to trumb" /></a></td>

我尝试添加库 highslide.Js

jQuery(document).ready(function() {
    $('.myClass a').each(function() {
        $(this).click(function() {
            my res = hs.expand(this);
            alert(res); // false
            return false;
        });
    });
});

当我点击链接时,浏览器会重新加载页面并显示 url_to_large_image,尽管该方法返回 false !!

但是! 如果该页面已经有以下链接用于 highslide,则一切正常

<td><a href="url_to_large_image1" class="myClass"><img alt="" src="url_to_trumb1" /></a></td>
<td><a href="url_to_large_image2" "return hs.expand(this)"><img alt="" src="url_to_trumb2" /></a></td>

在这种情况下,单击 url_to_large_image1 打开 highslide 的弹出窗口...

如何解决问题?提前谢谢你

【问题讨论】:

    标签: javascript jquery highslide


    【解决方案1】:

    我猜是你的选择器有问题

    $('.myClass a')
    

    将选择 myClass 中的所有 a-tags。

    尝试仅使用 .myClass 来选择您的 a 标记。

    jQuery(document).ready(function() {
    $('.myClass').each(function() {
        $(this).click(function() {
            my res = hs.expand(this);
            alert(res); // false
            return false;
        });
    });
    });
    

    【讨论】:

    • 对不起!其实还有一点点表达。我举了一个高度简化的例子,在写消息时犯了一个印刷错误。但是在铺设的过程中,我看到我的代码选择了正确的项目,但是事件并没有正常工作。
    【解决方案2】:

    您需要返回对象而不是返回 false。

    试试下面的代码

    return hs.expand(this);

    【讨论】:

      猜你喜欢
      • 2010-10-20
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2010-12-11
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多