Я использую метеор для своего проекта, и у меня есть следующий код:

<div class="col-md-4 activities_text">
        <center><h2>Learn</h2><br/><br/></center>
        {{getContent.description}}
        </div>
        <div class="col-md-8">
        <div class="button_absolute">
        <button class="button_ahead"><span class="glyphicon glyphicon-chevron-right" aria-hidden="true"></span></button>
        </div>
        <img class="activities_image" name="image" src="{{getContent.src}}"/>
        </div>
        </div>

И я хочу получить идентификатор или (впоследствии всю информацию в базе данных) об элементе, который мой HTML в настоящее время использует для «src» изображения впоследствии для заголовка и описания. Так что я мог поменять их местами при нажатии кнопки. Я пробовал это:

 'click .button_ahead':function(event){
      var infoNumber = this.number;
      console.log("this is the number of the image"+this._id+" "+ this.number);
      infoNumber = infoNumber + 1;
      Session.set("number", infoNumber);
    }

Но оба this.number и this._id остаются неопределенными. Возможно, проблема в том, что когда я нажимаю кнопку, я должен получить данные об изображении и т. Д., Но не о самой кнопке.

0
StefanL19 29 Дек 2015 в 13:07

2 ответа

Лучший ответ

Контекст - это элемент кнопки, поэтому this, вероятно, не то, что вы хотите использовать. Если вы действительно хотите использовать this, попробуйте изменить контекст с помощью .call() или .apply() функции.


PS: Я хотел бы оставить комментарий под вопросом, но не могу из-за репутации

1
Alex.U 29 Дек 2015 в 11:01

$(event.currentTarget)[0].id даст вам идентификатор кнопки в

'click .button_ahead':function(event){
      var id = $(event.currentTarget)[0].id
      var infoNumber = this.number;
      console.log("this is the number of the image"+id+" "+ this.number);
      infoNumber = infoNumber + 1;
      Session.set("number", infoNumber);
    }

Поэтому в своем шаблоне вы можете просто поместить

<button class="button_ahead" id="this._id"><span class="glyphicon glyphicon-chevron-right" aria-hidden="true"></span></button>

Чтобы получить идентификатор текущего ресурса, который вы показываете.

Вы также можете использовать более просто event.currentTarget.id

0
MrE 30 Дек 2015 в 19:02