Как получить значение кликаемого хештега в сообщении с произвольным числом хештегов?

0

У меня есть наблюдаемый массив: listData = ko.observableArray([]). Я могу обработать щелчок по наблюдаемому и получить элемент, который был нажат.

Каждый из предметов имеет itemId и post. post часть может иметь произвольное число Хештеги. Например, статья 1 может быть такой:

"Эй, ты проверил мою новую # статью на #SocialMedia?"

Теперь у нас есть новое требование: когда я нажимаю на hashtag (который будет завернут в <a href="#">#SocialMedia</a>), я хочу получить значение этого href, то есть "#SocialMedia".

Возможно ли это в Нокауте? Просьба предоставить небольшой образец кода, чтобы указать мне в правильном направлении.

  • 1
    Привет, добро пожаловать в Stack Overflow! Было бы полезно, если вы отредактируете свой вопрос и добавите код, который у вас есть, установите ситуацию с репродукцией и расскажете нам, что вы уже пробовали. В настоящее время ваш вопрос звучит так, как будто это просто требование, которое необходимо выполнить.
  • 0
    Спасибо, сэр! Хорошо, должным образом отмечено!
Показать ещё 1 комментарий
Теги:
knockout.js

1 ответ

3
Лучший ответ

я бы пошел на что-то вроде

$("a:contains('#')").click(function() {
     var HashTagValue = $(this).text();
});

это непроверено, но я не думаю, что это не сработает.

  • 0
    Великолепный! Итак, вот что я сделал, я добавил эту функцию: hashtagClick: function () { $("a:contains('#')").click(function () { var HashTagValue = $(this).text(); alert(HashTagValue) }); } Теперь, когда я нажимаю на хэштег в первый раз, ничего не происходит. Во второй раз предупреждение отображается со значением хэштега (УДИВИТЕЛЬНЫЙ!). В третий раз предупреждение отображается дважды, и поэтому оно продолжается постепенно, независимо от того, какой хэштег я нажимаю. Спасибо @ ori-refael! Есть мысли о повторных оповещениях?
  • 0
    просто, вы вызываете функцию .click слишком много раз, вы должны вызывать ее только один раз, если вы определяете ее более 1 раза, функция click будет вызываться несколько раз, можете ли вы предоставить фрагмент кода, где вы вызываете функционировать? если это сработает, я буду признателен, если вы отметите вопрос как ответ и проголосуете за это :)
Показать ещё 6 комментариев

Ещё вопросы

Сообщество Overcoder
Наверх
Меню