Обработчик кнопок jQuery и встроенный onClick - PullRequest
2 голосов
/ 17 ноября 2011

Вот проблема: у меня есть список элементов на странице, каждый со своей ссылкой / кнопкой, чтобы удалить его.В настоящее время у меня есть кнопка мыши на каждой кнопке, потому что каждая кнопка должна передавать идентификатор и описание / имя элемента в функцию JS.

Я хотел бы сделать ее менее навязчивой, но не могу думатьпути.Любые предложения?

Вот пример текущей настройки:

function doButtonThings(id, desc) {
    //jQuery to do some stuff and then remove the item from the page
}

И страница:

<!-- standard html page stuff -->
<ul>
    <li><button onclick="doButtonThings(1001, 'The thing we delete');"></button> Some thing that can be deleted #1</li>
    <!-- imagine many more list items this way with different ids and descriptions -->
</ul>
<!-- standard end of html page stuff -->

1 Ответ

3 голосов
/ 17 ноября 2011

Вы можете хранить данные в атрибутах данных HTML:

<button data-myId="1001" data-myDescr="The thing we delete">Click me</button>

А затем используйте их в обработчике кликов jQuery:

$('button').click(function() {
    var $this = $(this),
        id = $this.data('myid'),
        descr = $this.data('mydescr');

    doButtonThings(id , descr );
});

Вот скрипка для иллюстрации: http://jsfiddle.net/didierg/fhLde/

...