YUI кнопка при нажатии получить значение - PullRequest
0 голосов
/ 17 июня 2010

У меня есть набор кнопок yui, сгенерированных с использованием стандартного HTML-кода yui.

<span class="yui-button yui-checkbox-button" id="analystbutton1">
    <span class="first-child">
        <button type="button" class="facetbutton" tabindex="0" id="analystbutton1-button">
            Joe Bloggs
        </button>
    </span>
</span>

Я создаю такие кнопки, а затем у меня есть некоторый JavaScript для создания кнопки и слушателя.

var analystCButton1 = new YAHOO.widget.Button("analystbutton1", { type:"checkbox", value:"BLOGGS", checked:false }); 
analystCButton1.on("click", onFacetClick);

Наконец, у меня есть функция onFacetClick

var onFacetClick = function (e) { // e is the event
 var target = YAHOO.util.Event.getTarget(e);
 var button = new YAHOO.widget.Button(target);
 alert(button.get('type'));
 alert(button.get('id'));
 alert(button.get('value'));
};

Когда я нажимаю на любую из моих кнопок, первые два предупреждения отображают тип и идентификатор (хотя и не то, что я ожидал).Я не могу получить значение, предупреждение не срабатывает, но я не вижу ошибок в FireBug или консоли ошибок.

alert (button.get ('type'));возвращает push - я ожидаю, что флажок оповещения (button.get ('id'));возвращает аналитическую кнопку1 кнопка

Ответы [ 2 ]

1 голос
/ 17 июня 2010

e.getTarget () вернет узел HTML, который был целью события.

событие e - это сам объект события, который включает в себя такие вещи, как тип события, время события и т. Д. Вы можете выполнить console.log (e), чтобы увидеть все вещи, которые инкапсулирует объект события.

1 голос
/ 17 июня 2010

Оказывается, моя функция должна быть проще -

var onFacetClick = function (e) { // e is the event
       alert(e.get("value")); 
};

Я бы хотел знать, в чем разница между e.getTarget () и событием e?

e.getTarget возвращал HTMLButtonElement

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...