如何在extjs4中获取内部div元素子句和处理事件

时间:2013-09-03 17:46:53

标签: javascript jquery css html5 extjs

I want to select the div with class "icon-right" and add the click event.
    Html code:
        <div class="msg"> 
           <div> 
               <div class="sample"></div> 
           </div>
           <div> 
              <div class="icon-right"></div> 
           </div> 
        </div>
    I want to select the div which has class icon-right and handle click event..
    Extjs code:
        var message = Ext.select('div:next(div.icon-right)');

        message.on('click', function () {
            alert('test msg');
        }, message);

但我需要更改div与类图标 - 右边作为div与图标左边的点击,现在当我点击图标 - 左边它改为div与类图标 - 右..反之亦然发生

3 个答案:

答案 0 :(得分:0)

你能做到:

Ext.select('.icon-right').up('div').on('click', function() {});

答案 1 :(得分:0)

根据the documentation,Ext.select返回DOM元素的CompositeElement集合。您应该使用Ext.query,它将返回一个HTMLElement,然后您可以定义onclick事件处理程序:

var target = Ext.query(".icon-right").pop(); // return the first div of the query
target.onclick = function(){ alert('clicked!'); }

或者,如果您希望使用Ext事件侦听器,则必须使用Ext.dom.Element classExt.get返回一个实例,该实例调用ID,DOM节点或现有元素as per the documentation。如果您要通过Ext.get检索元素,则可以在提供的代码中通过Ext.dom.Element.on分配一个监听器。

工作jsFiddle: http://jsfiddle.net/LcRWB/(显示两个示例)

答案 2 :(得分:0)

这应该有效。

var el = Ext.Element.select("[class=icon-right]");
el.on('click', function() {
  alert("hi");
});

您可以在jsfiddle http://jsfiddle.net/XzKKZ/

上看到一个示例