代码之家  ›  专栏  ›  技术社区  ›  Mohit Jain

jquery图像库修改的小需求帮助

  •  1
  • Mohit Jain  · 技术社区  · 14 年前

    我正在我的项目中使用此图像库。需要悬停的效果。但是,当用户单击该图像时,它会在新窗口中打开该图像,这是一个问题。我怎么能阻止呢?

    这里是 code sample 这里是 demo .

    3 回复  |  直到 14 年前
        1
  •  1
  •   Haim Evgi    14 年前

    创建A链接时 尝试 rel和类屏幕截图,并更改href。

    href="http://www.cssglobe.com" class="screenshot"
    

    从网站:

    使用链接创建图像预览 要获得全尺寸图像,必须 将屏幕截图类添加到HTML 元素和rel属性, 包含完整大小的图像URL作为 一个值:

    <a href="http://www.cssglobe.com" class="screenshot" rel="cssg_screenshot.jpg" title="Web Standards Magazine"> Css Globe</a>
    
        2
  •  1
  •   Fordi    14 年前

    只需终止链接上的默认事件:

    //jQuery 1.4
    $(document).delegate('a.preview', 'click', function () { return false; });
    
    //jQuery 1.3
    $('a.preview').click(function () { return false; });
    

    在任何情况下,都不要使用javascript:void(0);这只会让观察者感到困惑,但不了解。同时,“”会将您弹出到页面顶部,而不会出现取消的事件。

    如果您想知道$(document).delegate(selector,click,fn)和$(selector)之间的区别,请单击(fn):

    委托监听文档,如果事件的目标与选择器匹配,它将调用处理程序。click()直接监听目标元素集。从前面的加载角度来看,委托的性能更高,并且具有这样的优点:页面上不必存在任何元素,它就可以正常工作,并且DOM上的每个新元素都会进入其供应范围——因此,如果添加了新的库项,则可以在不绑定新处理程序的情况下查看它们。

        3
  •  0
  •   Moin Zaman    14 年前

    包含图像的每个超链接的HTML如下所示:

    <li><a href="1.jpg" class="preview"><img src="1s.jpg" alt="gallery thumbnail" /></a></li>

    移除 href 或者改变 HREF # javascript:void(0) 像这样,它应该可以工作:

    <li><a href="#" class="preview"><img src="1s.jpg" alt="gallery thumbnail" /></a></li>

    <li><a href="javascript:void(0)" class="preview"><img src="1s.jpg" alt="gallery thumbnail" /></a></li>

    另一种方法是修改插件以添加 click() 超链接的事件处理程序,并将 return false 在那里阻止链接工作。这很好,因为对于关闭JS的用户,他们仍然可以单击并浏览以查看完整的图像。