1

我正在创建一个 jquery 小部件,其概念类似于菜单栏,它有两个按钮,例如 ButtonOne 和 ButtonTwo。

我有相关的样式和我的 html 代码。

我在一个hello world小部件中工作

 // Constructor
    _create: function() 
    {
        var my=this.element;
        var supe=this;

      ..............  

        //first event
        my.bind('mouseenter', function (event) {                
            supe._trigger('activated', event, my);                
        });
    },

我用喜欢

 $(function() {
       ...........
       var bar=$("#bar-event").mybar();
        //first atempt
        bar.click(function() {
            alert( "Handler for .click() called." );
        });
        //second attempt
        bar.bind('mybaractivated', function(event, data) {
                // handle the event
            alert('YES WORKING!!!!!!');

        });
    });

我的第一次尝试是菜鸟尝试,点击有效,但在 html 中顶部 div 的所有区域。在第二次尝试中可以访问我的自定义事件。

不知道如何触发我的按钮的点击事件,例如,我想控制像......

 //
 $(function() {
   ...........
   var bar=$("#bar-event").mybar();
   bar.clickButtonOne(function() {/*do*/});
   //and
   bar.clickButtonTwo(function() {/*do*/});

或者

 //Maybe
 $(function() {
   ...........
   var bar=$("#bar-event").mybar();
   bar.bind('clickButtonOne',function(event,data) {/*do*/});
   //and
   bar.bind('clickButtonTwo',function(event,data) {/*do*/});

但不要在小部件内触发事件

4

1 回答 1

1

嗯......就像捕获我的按钮的点击并传播它

_create: function() 
    {
        var my=this.element;
        var supe=this;            

        ...............

        var btn=$(mybutton);
        btn.click(function (){
            supe._trigger('btnclick');
        });

    }

如果有更优雅或更高效的方法,请告诉我

于 2013-09-05T16:06:44.750 回答