Jquery点击功能打印href问题

时间:2011-03-17 21:13:03

标签: jquery printing click

我有一个打印图标,使用Jqueryui我试图与一个名为jqprint的Jquery打印插件集成。我想在点击图标时打印href

Html是:

<div class="item">
<a href="slides/image.jpg" title="Image"><img src="thumbs/image.jpg" /></a>
<<span class="printImage ui-icon ui-icon-print" title="Print Image"></span>
</div>

按钮代码:

$("span.printImage").live('click', function() {
$('.item a[href]').jqprint();
return false;
});

此代码打印整个缩略图页面,而不是该特定“.item”的href。 任何帮助,将不胜感激。我正在使用,因为我在页面上发生了一些动态变化。

2 个答案:

答案 0 :(得分:3)

$('.item a[href]').jqprint();不能简单地工作,因为这不是jqPrint设计用于打印元素属性的方式。它旨在打印元素。您拥有的内容将打印所有已定义类.itemhref属性的锚点。怎么样:

var link = $(this).parents(".item.isotope-item").children("a").attr("href");

var img = $("<img />", { src: link }).appendTo("body");

img.load(function(){
    img.jqprint();
    img.remove();
});

最后答案:D

答案 1 :(得分:1)

$('.item a[href]').jqprint();将在指定了jqprint()属性的所有锚元素上调用href

这会导致它自然地出现在页面上的所有锚点上,打印指定的href是什么意思,你的意思是在锚指向的位置打印资源吗?

如果您的目标是在跨度之前调用锚点jqprint(),您可以尝试这样的事情,尽管这将取决于您的html结构......

$("span.printImage").live('click', function() {
    $(this).prev().jqprint(); // or $(this).prevAll("a:first").jqprint();
    return false;
});