无法将操作链接绑定到 html 按钮

Not able to bind a action link to an html button

本文关键字:html 按钮 绑定 链接 操作      更新时间:2023-09-26

我正在我的javascript文件中创建一个动态链接,该链接会生成一个动态链接,以便用户下载文件。 我会链接以将链接放置在按钮内,以便用户按下按钮而不是链接。 但是,当我将链接放在按钮内时,链接似乎不再绑定到按钮。 不知道我做错了什么,我看到了他们按照我的方式做事的例子。

.HTML

<button class="k-button" id="ResultButton" style="display: none;"></button>

这是我在"index.cshtml 文件"中创建按钮的地方。

Javascipt

   var csvData = data.result;
            var buffer = csvData;
            var uri = "data:text/csv;charset=utf8," + encodeURIComponent(buffer);
            var fileName = "resultCSV.csv";
            var link = document.createElement("a");
            if (link.download !== undefined) { // feature detection
                // Browsers that support HTML5 download attribute
                link.setAttribute("href", uri);
                link.setAttribute("download", fileName);
            }
            else if (navigator.msSaveBlob) { // IE 10+
                link.addEventListener("click", function (event) {
                    var blob = new Blob([buffer], {
                        "type": "text/csv;charset=utf-8;"
                    });
                    navigator.msSaveBlob(blob, fileName);
                }, false);
            }
            link.innerHTML = "Export to CSV";
           // I think I may be doing this incorrect
            document.getElementById("ResultButton") .appendChild(link);
            $("#ResultButton").show();
        } else {
            alert("Your Search Cameback Empty Please Check Your Selections And Retry");
        }

我想我可能这样做不正确。 似乎当我尝试将此链接绑定到我的按钮时,它会覆盖链接。 因为当我document.body.appendChild(link); 时,它会正确地为我提供链接,但是当我将其绑定到按钮时,它只会刷新网页。

这将使它看起来像一个按钮。

>  var myATag = '<a href="somelink" type="button" class="k-button"
> id="ResultButton"/>';

删除按钮代码。创建一个div 并在函数结束时执行。

 $("#mydiv").html(myATag);

我认为这是因为您将link追加为按钮的子项,然后单击按钮不会启动链接的单击。所以而不是

document.getElementById("ResultButton") .appendChild(link);
$("#ResultButton").show();

这个你给的

$("#ResultButton").click(function(){
      link.click();
});