Как вызвать функцию с именем класса или событием onClick в расширении Google Chrome?

#javascript #jquery #html #google-chrome-extension

#javascript #jquery #HTML #google-chrome-extension

Вопрос:

Я разрабатываю расширение Chrome, в котором в скрипте содержимого я вызываю функцию с помощью jQuery. Функция может вызывать только первый элемент этого класса, другой элемент с тем же именем класса не может работать. Тогда в следующий раз, когда я использую событие onClick для тега привязки, также не работает.

 switch (params.case) {

  case 1:
    if ($('#subvalue_MOBILE').text() != '') {       

      var img = '<img id="textsms" class="textsms" style="display:block; cursor:pointer;" src="'   chrome.extension.getURL(params.icon)   '"/>'; 

      btn = '<a onclick="sendtext()" class="'   classes   '" '   style   ' target="'   params.target   '">';

      btn  = '<span class="'   params.icon   '">'   img   '</span>'

      btn  = params.text;

      btn  = '</a>'             
    }
  break;

  case 2:
  {
    Another Code.
  }
}

$(document).on("click", ".textsms", function() {
  var mod = smsmodal();
  $('body').append(mod); 
});

function sendtext()
{
  var mod = smsmodal();
  $('body').append(mod); 
}
  

Я хочу вызвать эту функцию либо с использованием имени класса, либо любым другим способом.

Комментарии:

1. можете ли вы создать самый короткий фрагмент. Или просто вставьте весь соответствующий код.

2. Привет, Сэнди, идентификатор должен быть уникальным в вашем цикле, тот же идентификатор повторяется для всех идентификаторов удаления тегов img. Если это не цикл, вызовите событие с идентификатором

3. Изображение зацикливается каждый раз, когда оно обращается к определенному текстовому полю. Я удалил идентификатор, как вы сказали, но все равно это не сработает. В соответствии с именем класса функция вызывается для первого элемента или изображения, отображаемого в текстовом поле, но когда изображение отображается в следующем текстовом поле, в это время функция не может быть выполнена, когда я нажимаю на это изображение..

4. @Devsi Odedra Я только что прошел весь рассматриваемый код.

5. @mepraveenk : Я также могу использовать эту функцию jQuery, поэтому она будет вызывать функцию при каждом нажатии, где существует тег span. Я хочу, чтобы событие click происходило только там, где каждый раз размещается изображение. Функция: $(документ). готово(функция(){ $(«span»).click(функция(){ var modal = renderSMSmodal(); $(‘body’).append(модальный); }); });