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

qlfbtfca  于 2023-01-30  发布在  jQuery
关注(0)|答案(2)|浏览(128)

我用了一些插件。在那里面

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

在插件库中有一些click事件处理程序用于这个类datepicker-button。
在触发库中指定的默认处理程序之前,我需要一些手动操作。
大概是这样的

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

有可能吗?

cidc1ykv

cidc1ykv1#

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

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

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

axr492tv

axr492tv2#

不能通过jQuery捕获事件的原因是ui 5组件使用它们自己的事件总线。
通常我会说这是一个实现自己的ui 5控件的例子,比如

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

你可以很容易地得到你要扩展的组件的代码,方法是通过firebug或whateverbrowser你重用的开发者工具将其从浏览器中取出。如果你使用参数sap-ui-debug=true启动你的应用程序,你将不会得到缩小的版本。你正在寻找的文件将被称为DatePicker-dbg.js和DatePickerRenderer-dbg.js。
干杯迈克尔

相关问题