【问题标题】:How in the world to 'trigger' events get bound in custom jQuery-Ui widgets?世界上如何在自定义 jQuery-Ui 小部件中绑定“触发”事件?
【发布时间】:2013-12-06 22:37:04
【问题描述】:

我正在尝试将此插件集成到我的应用中:https://github.com/mar10/jquery-ui-contextmenu/blob/master/jquery.ui-contextmenu.js

我完全困惑于右键单击与初始化元素上的委托选择器匹配的元素最终会在绑定元素上触发“contextmenu”事件......我一直在阅读这段代码 HOURS 和我仍然没有看到类似的东西:

ui.target.on('right-click', opt.selector, function(){ this._tigger('contextmenu')});

或类似的东西。我没有看到对 event.which()(用于鼠标按钮检测)等的引用。

我可以在第 79 行看到自定义“contextmenu”事件绑定到委托,但我在代码中没有看到任何地方显示此自定义在右键单击元素时实际上是如何被触发的...

因为我看不到任何触发代码..我假设 jQuery-UI 小部件工厂以某种方式“自动”进行触发..但这仍然引出了问题,这个插件如何告诉 jquery-ui框架,“使用右键单击事件作为我的'触发器'”??

这到底是怎么回事????请帮忙!

【问题讨论】:

  • 使用的事件是oncontextmenu
  • 所以@adeneo,做类似的事情:$(window).on('contextmenu', function(){ .. }); 本质上与:window.oncontextmenu = function(){ .. } 相同?
  • 是的,当使用 jQuery(或 addEventListener)时,您删除前导“on”并只使用事件名称,这样看起来是正确的。
  • @RavenHursT - 当然,添加了!

标签: jquery jquery-ui jquery-ui-widget-factory jquery-ui-widget


【解决方案1】:

插件不监听点击事件,它监听 oncontextmenu 事件,该事件在上下文菜单被触发时触发,大部分时间是在右键单击某些东西时

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-07-19
    • 1970-01-01
    • 1970-01-01
    • 2013-06-16
    相关资源
    最近更新 更多