Как вызвать onclick для большего количества ссылок, не вызывая последний - встроенный шаблон javascript - PullRequest
1 голос
/ 31 октября 2019

как вызвать onclick для запуска функции при нажатии?

Я определил пару элементов (href), которые должны запускать onclick, во встроенном шаблоне javascript ... проблема в том, что функция срабатывает при загрузке страницыне по клику.

<%
    function generateEvent( eventName, eventType ){
        //do something
      }

  %>     

    <div class="someClass"> 
       <a href="someUrl"  onclick ="<%{generateEvent('x','y')}; %>;" class="Text" data-value="BI"></a>&nbsp;|&nbsp;


         <a href="someUrl"  onclick ="<%{generateEvent('x','y')}; %>;" class="Text" data-value="FI"></a>&nbsp;|&nbsp;

Ответы [ 2 ]

1 голос
/ 31 октября 2019

разобрался:)

if we define a function like this
<% 
generateEvent = function (eventName, eventType ){
//do something
} 
%>

//**and call it in HTML**
<div class="Class1"> 
    <a href="some_url" onClick='generateEvent("b1","b")' class="Text" data-value="B">hhh</a>
</div>
 //it will work

ps tnx @Bilal Siddiqui

0 голосов
/ 31 октября 2019

С ejs правильный синтаксис:

onclick = "<%= generateEvent('x','y') %>"

Вам необходимо заменить это в ваших HTML-элементах.

ИЛИ на es6, вы можете попробовать просто:

onclick = { generateEvent('x','y') }

РЕДАКТИРОВАТЬ

Согласно вашему коду в скрипте, в котором отсутствует тег script. Я проверял это, чтобы работать с HTML и EJS обоими типами файлов

<script>

function generateCustomEvent (eventName, eventType ) { 
   alert("do somethink"+eventName+eventType);
}

</script>

<div class="Class1"> 
    <a href="some_url" onclick = {generateCustomEvent('x','y')} class="CoveoText" data-value="B">hhh</a>
</div>
...