此解决方案取决于连接点。为了便于演示,我使用了'*' 选择器来获取所有内容(对于大多数事情来说并不是那么好)
警告:这使用了未记录的功能
相关jQuery find events handlers registered with an object
如果你想定位特定的选择器,你可以这样做。即'body',你的类选择器等。
点击这里按钮的结果是:
checking...
type: object
{
"click": [
{
"type": "click",
"origType": "click",
"data": undefined,
"handler": function () {
// DO ACTION HERE
console.log("got click");
},
"guid": 2,
"selector": ".element-selector",
"needsContext": false,
"namespace": ""
}
]
}
type: object
{
"custom": [
{
"type": "custom",
"origType": "custom",
"data": undefined,
"handler": function () {
// DO ACTION HERE
console.log("got change");
},
"guid": 4,
"selector": undefined,
"needsContext": undefined,
"namespace": ""
}
]
}
type: object
{
"change": [
{
"type": "change",
"origType": "change",
"data": undefined,
"handler": function () {
// DO ACTION HERE
console.log("got change");
},
"guid": 6,
"selector": undefined,
"needsContext": undefined,
"namespace": ""
}
]
}
type: object
{
"click": [
{
"type": "click",
"origType": "click",
"data": undefined,
"handler": function checkme() {
console.log('checking...');
$('*').each(function(index, element) {
var evts = $._data(element, "events");
if (typeof evts === "object") {
console.log("type:", typeof evts);
console.log(evts);
}
});
},
"guid": 8,
"selector": undefined,
"needsContext": undefined,
"namespace": ""
}
]
}
$('body').on('click', '.element-selector', function() {
// DO ACTION HERE
console.log("got click");
});
$('.element-selector').on('custom', function() {
// DO ACTION HERE
console.log("got custom");
});
$('.input-element-selector').on('change', function() {
// DO ACTION HERE
console.log("got change");
});
function checkme() {
console.log('checking...');
$('*').each(function(index, element) {
var evts = $._data(element, "events");
if (typeof evts === "object") {
console.log("type:", typeof evts);
console.log(evts);
}
});
}
$('.trigger-weird').on('click', checkme);
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<div class="element-selector">howdy</div>
<input type="text" class="input-element-selector" />
<button class="trigger-weird">click me</button>