EasyUI Forum
April 25, 2024, 03:36:03 AM *
Welcome, Guest. Please login or register.

Login with username, password and session length
News:
 
   Home   Help Search Login Register  
Pages: [1]
  Print  
Author Topic: Utilize jQuery triggers for EasyUI events  (Read 5151 times)
iklotzko
Newbie
*
Posts: 15


View Profile Email
« on: October 18, 2017, 07:55:37 AM »

EasyUI provides callback functions as part of most of the widgets' options' objects. A user can easily set the event listener on any number of events, e.g. onOpen, onSelect, onResize, etc...

However, there is no ability, out of the box, to add an event listener, except of course to set a listener that retransmits the event from the one and only handler to other listeners.

Is it possible to utilize jQuery triggers on your widgets for your event listeners in options so the user can more easily (and more loosely coupled) add event listeners with $().on, or $().one. For example

Code:
   $('#grid-object').datagrid('on', 'onLoadSuccess', postLoadAction_one);
   $('#grid-object').datagrid('on', 'onLoadSuccess', postLoadAction_two);

// or

   $('#grid-object').on('onLoadSuccess', postLoadAction_one);
   $('#grid-object').on('onLoadSuccess', postLoadAction_two);

// or

   $('#grid-object').datagrid('options').on('onLoadSuccess', postLoadAction_one);
   $('#grid-object').datagrid('options').on('onLoadSuccess', postLoadAction_two);


Here is something I use in my project to make it more of an Observable pattern

Code:
            

var onChangeTrigger = function(newValue, oldValue) {
  $(this).trigger('onChange', [newValue, oldValue]);
};
var triggerEventOnKeyPress = function(jq) {
  $(jq[0]).textbox('textbox').on('keydown', function(e) {
    $(jq[0]).trigger('onKeyPress', [e]);
  });
};
$.extend($.fn.textbox.defaults, {
  onChange: onChangeTrigger
});
$.extend($.fn.textbox.methods, {
  triggerEventOnKeyPress: triggerEventOnKeyPress
});
$.extend($.fn.numberbox.methods, {
  onChange: onChangeTrigger, triggerEventOnKeyPress: triggerEventOnKeyPress
});
$.extend($.fn.combo.defaults, {
  onChange: onChangeTrigger
});
Logged
Pages: [1]
  Print  
 
Jump to:  

Powered by MySQL Powered by PHP Powered by SMF 1.1.18 | SMF © 2013, Simple Machines Valid XHTML 1.0! Valid CSS!