Сокрытие элемента после срабатывания клика - PullRequest
0 голосов
/ 07 декабря 2009

Скажем, у меня есть следующий код, чтобы добавить кликабельное изображение после набора элементов. Обработчик щелчков срабатывает каждый раз, когда щелкают изображение, а это не то, что мне нужно. Я предполагаю, что скрытие изображения с помощью .hide () в обработчике кликов - это один из подходов, но я не могу понять, как ссылаться на элемент img в обработчике кликов.

Помощь? Спасибо

  $(...)
  .after($('<img src="..."/>')
  .css("cursor","pointer")
  .attr("title","Click here for ...")
  .click(function(){ ... }

Ответы [ 3 ]

1 голос
/ 07 декабря 2009

Вероятно, было бы проще и понятнее разбить его на две строки:

var e = $('<img src="..."/>');
  $(...)
  .after(e)
  .css("cursor","pointer")
  .attr("title","Click here for ...")
  .click(function(){ ... use e here...  }

Хотя вы можете использовать следующее, как я сделал в этом примере, иначе:

$('p')
  .after($('<img src="..."/>'))
  .css("cursor","pointer")
  .attr("title","Click here for ...")
  .click(function() { 
      $(this).next().css("border", "solid white 5px");

  })

Так что, используя доброту , , вы получаете элемент, который вы ищете, без каких-либо временных. http://jsbin.com/ulewo

1 голос
/ 07 декабря 2009
$("#foo").click(function () {
    $(this).hide(); /* This refers to the item(s) being clicked */
})
0 голосов
/ 07 декабря 2009

Вы можете присвоить своему изображению уникальный идентификатор, чтобы получить его:

$(...)
  .after($('<img id="myimage" src="..."/>')
  .css("cursor","pointer")
  .attr("title","Click here for ...")
  .click(function()
  { 
      var img = $('#myimage');
  }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...