使用.href和.attr(' href')和jquery ID选择器设置属性

时间:2015-08-29 06:04:07

标签: javascript jquery html

我尝试使用javascript和jquery来设置标签的href属性,因为我需要从canvas下载图片。但是,我遇到了一些问题。我无法弄清楚原因,所以我在这里发布我的问题。

  1. 如果我使用id设置监听器,则监听器功能不会捕获事件,就像下面的png按钮一样。

  2. 比较jpegBtn2和jpegBtn,我使用普通的javacsript来设置前href属性,而对于后者,我用jquery来进行操作。这两种方法都可以下载图片,但是jpegBtn2方法下载的图片无法正常打开。后来我检查了chrome控制台,我发现jpegBtn2的href仍然是#34;#",但是jpegBtn的href发生了变化。我不知道这个。

  3. 这是我的代码:

    if(!setDownloadDialogOrNot){
        $('div.dialogBtnSet').append('<a class="jpegBtn2" id="jpegBtn2Id" type="button" href="#">close</a>');
        $('div.dialogBtnSet').append('<a class="jpegBtn" type="button" href="#">jpeg</a>');
        $('div.dialogBtnSet').append('<a id="pngBtn" type="button" href="#">png</a>');
        setDownloadDialogOrNot=true;
    };
    
    $('.jpegBtn2').on('click',function(){
        setDownloadCanvas(1);
        $('.jpegBtn2').attr('download',filename+'.jpeg');
        document.getElementById('jpegBtn2Id').href=document.getElementById('downloadCanvas').toDataURL('image/jpeg'));
        $('div#downloadDialog').dialog('close');
    });
    
    $('.jpegBtn').on('click',function(){
        setDownloadCanvas(1);
        $('.jpegBtn').attr('download',filename+'.jpeg');
        $('.jpegBtn').attr('href',document.getElementById('downloadCanvas').toDataURL('image/jpeg'));
        $('div#downloadDialog').dialog('close');
    });
    
    $('#pngBtn').on('click',function(){
        setDownloadCanvas(0);
        $('#pngBtn').attr('download',filename+'.png');
        $('#pngBtn').attr('href',document.getElementById('downloadCanvas').toDataURL('image/png'));
        $('div#downloadDialog').dialog('close');
    });
    

    `

1 个答案:

答案 0 :(得分:0)

要将事件绑定到动态添加的元素,您需要使用 {"time":1440827858965,"event":{ //other arrays }

http://api.jquery.com/on/#direct-and-delegated-events

public class Response
{
    public MatchEvent event { get; set; } //error is here
}

public class MatchEvent
{ 

}