Вот мой HTML:
<textarea cols="5" disabled id="textareRSAKeypair">
@Model["keypair"]
</textarea>
<a href="#" class="btn btn-primary" id="downloadKeypair">DownLoad Key</a>
И вот мой jQuery:
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js"></script>
<script>
$("a#downloadKeypair").click(function () {
var now = new Date().toString();
var filename = 'RSAKeyPair_' + now + ".txt";
$("a#downloadKeypair").attr('Download', filename);
this.href = "data:text/plain;charset=UTF-8," + encodeURIComponent($('#textareRSAKeypair').text());
});
</script>
Мой код jQuery не работает на странице, но когда я копирую и вставляю его в консоль (google chrome), он работает хорошо. Я не знаю почему. Я попытался добавить метод document.load
, но он все равно не работает.
попробуйте готовое событие:
$( document ).ready(function() {
$("a#downloadKeypair").click(function () {
var now = new Date().toString();
var filename = 'RSAKeyPair_' + now + ".txt";
$("a#downloadKeypair").attr('Download', filename);
this.href = "data:text/plain;charset=UTF-8," + encodeURIComponent($('#textareRSAKeypair').text());
});
});
Вы должны поместить весь свой код в функцию $ (document).ready. Это может быть ваша проблема.
a#downloadKeypair
динамически загружается в DOM?