YUI按钮onclick获取值

时间:2010-06-17 08:40:03

标签: javascript button yui

我有一组使用标准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'));
};

当我点击我的任何按钮时,前两个警报会显示类型和ID(尽管不是我所期望的)。我无法获取值,警报不会触发,但我在FireBug或错误控制台中看不到任何错误。

警报(button.get( '类型'));返回推送 - 我希望复选框 警报(button.get( '身份证'));返回分析师按钮1按钮

2 个答案:

答案 0 :(得分:1)

事实证明我的功能应该更简单 -

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

我想知道e.getTarget()和事件e之间的区别是什么?

e.getTarget正在返回HTMLButtonElement

答案 1 :(得分:1)

e.getTarget()将返回作为事件目标的HTML节点。

事件e是事件对象本身,其中包括事件类型,事件时间等。您可以执行console.log(e)以查看事件对象封装的所有内容。