在默认事件处理程序之前执行某些操作

doing something before default event handler

本文关键字:执行 操作 默认 事件处理 程序      更新时间:2023-09-26

我正在使用一些插件。在

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

在插件库中有一些关于datepicker-button类的点击事件处理程序。

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

像这样:

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

有可能吗?

如果插件在click引发之前没有给你任何事件挂钩,你可以使用mousedown代替:

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

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

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

通常我会说这是实现你自己的ui5控件的一个例子,比如

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

您可以很容易地获得您想要扩展的代码,通过firebug或任何您的重用开发工具将其从浏览器中取出。如果你用参数sap-ui-debug=true启动你的应用程序,你将不会得到缩小的版本。你正在寻找的文件将被命名为DatePicker-dbg.js和DatePickerRenderer-dbg.js。

干杯迈克尔。