JavaScript: Вызов события щелчка тега привязки из JavaScript

Я столкнулся с той же проблемой в аналогичном проекте и потратил некоторое время на понимание уловок. Тот факт, что MikTeX выходит выбранным, даже если вы очистили путь, объясняется несколько раздражающим фактом (особенно для * nix-ориентированных разработчиков, таких как я и другие), что при установке MikTeX устанавливается довольно большое количество записей реестра Windows. Портативный дистрибутив MikTeX (только для win32) является единственным исключением. Поэтому, если вам нужен MikTeX на борту, я советую просто сделать то, что я сделал:

  1. удалить текущий дистрибутив MikTeX
  2. , очистить реестр (ccleaner сработал хорошо)
  3. установите переносимый дистрибутив MikTeX win32

Теперь убедитесь, что ваш путь снова включает путь к каталогу TeXlive bin.
Если вы используете pandoc для создания PDF-файлов из Rmarkdown или других языков уценки, удобный способ обойти проблемы с путями - указать опцию --latex-engine и добавить полный путь к файлу в качестве аргумента. Ниже приведена возможная командная строка, адаптированная из среды разработки RStudio:
path/to/pandoc.exe -V papersize=A4 +RTS -K512m -RTS file.utf8.md --to latex --from markdown+autolink_bare_uris+ascii_identifiers+tex_math_single_backslash-implicit_figures --output file.pdf --template path/to/default.tex --highlight-style tango --latex-engine /path/to/pdflatex.exe --variable geometry:margin=1in

19
задан Sampson 11 June 2009 в 12:19
поделиться

5 ответов

Если у вас установлен jQuery, почему бы просто не сделать это:

$('#proxyAnchor')[0].click();

Обратите внимание, что мы используем [0] для указания первого элемента. Селектор jQuery возвращает экземпляр jQuery, и вызов click () для него вызывает только обработчик javascript click, а не href. Вызов click () для фактического элемента (возвращенного [0]) приведет к переходу по ссылке в href и т. Д.

См. Здесь пример, чтобы проиллюстрировать разницу: http://jsfiddle.net/8hyU9/

Что касается того, почему ваш исходный код не работает - это, вероятно, потому, что вы вызываете onclick , а не onclick () . Без круглых скобок JavaScript вернет все, что присвоено свойству onclick , а не пытаться его выполнить.

Попробуйте следующий простой пример, чтобы понять, что я имею в виду:

var f = function() { return "Hello"; };     
alert(f);
alert(f());

Первый будет отображать фактический текст функции,

68
ответ дан 30 November 2019 в 01:54
поделиться

Вы должны вызвать событие щелчка следующим образом:

document.getElementById("proxyAnchor").click();
// $('#proxyAnchor').click();

но в вашем случае вы должны установить расположение окна на страницу перенаправления, если хотите.

11
ответ дан 30 November 2019 в 01:54
поделиться

Я полагаю, вы хотите вызвать событие click . Не «onClick». Также не забудьте включить круглую скобку () при вызове метода. Не путайте методы (которые заканчиваются на (и)) с атрибутами и свойствами, которые не заканчиваются на (и).

// Using jQuery - Which you tagged...
$("#proxyAnchor").attr("href", proxyImgSrc).click();
1
ответ дан 30 November 2019 в 01:54
поделиться

Я думаю, это то, что вам нужно:

var proxyImgSrc="CostMetrics.aspx?Model=" + model +"&KeepThis=true&TB_iframe=true&height=410&width=650";
$("#proxyAnchor").attr('href', proxyImgSrc).trigger("click");;
1
ответ дан 30 November 2019 в 01:54
поделиться

Для немедленного изменения страницы вы также можете сделать это:

var proxyImgSrc= "CostMetrics.aspx?Model=" + model + "&KeepThis=true&TB_iframe=true&height=410&width=650";
window.location = proxyImgSrc;

Вот пример из школ W3: http://www.w3schools.com/js/tryit.asp?filename=tryjs_location

1
ответ дан 30 November 2019 в 01:54
поделиться
Другие вопросы по тегам:

Похожие вопросы: