2010-06-17 74 views
0

我有一组使用标准yui html生成的yui按钮。YUI按钮onclick获取值

<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或错误控制台中看不到错误。

alert(button.get('type'));返回推 - 我期望复选框 警报(button.get('id'));返回analystbutton1按钮

回答

1

因此,原来我的功能应该是简单的 -

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

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

e.getTarget被返回HTMLButtonElement

1

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

事件e是事件对象本身,它包括诸如事件类型,事件发生时间等事情。您可以通过console.log(e)来查看事件对象封装的所有事情。

+0

感谢您使用console.log(e) – Simon 2010-06-17 13:27:52