在默认事件处理程序之前做某事

时间:2014-08-21 06:46:15

标签: javascript jquery sapui5

我正在使用一些插件。那个

<button class="datepicker-button">&nbsp;</button>

插件库中的此类datepicker按钮有一些单击事件处理程序。

我想做的是 -

在触发Library中指定的默认处理程序之前,我需要一些手动操作。

像这样 -

$(".datepicker-button").on("click",function(){
        //some operations written by me
        //then do operations specified by the library

});

有可能吗?如果可能的话请给我任何想法。谢谢你提前。

2 个答案:

答案 0 :(得分:2)

如果插件在引发click之前没有为您提供任何事件,您可以使用mousedown代替:

$(".datepicker-button").on("mousedown", function(){
    // your operations...
});

当释放鼠标按钮时,将触发插件的click事件。

答案 1 :(得分:1)

你无法通过jQuery捕获事件的原因是因为ui5组件使用自己的事件总线。

通常我会说这是实现你自己的ui5控件的情况,如

    sap.ui.commons.DatePicker.extend("your.custom.control", { 
    // your code  
    }

通过使用firebug或其他任何使用开发人员工具将其从浏览器中删除,您可以轻松获得要扩展的comp的编码。如果您使用参数sap-ui-debug = true启动应用程序,则无法获得缩小版本。 您正在寻找的文件将被称为DatePicker-dbg.js和DatePickerRenderer-dbg.js。

干杯 迈克尔