我找不到任何可连接到的WP特定事件。您可以使用回调设置一个观察器,以响应DOM更改MutationObserver
并检查您的特色图像是否已添加到回调中。
有no support 在IE中(<);不过,这可能会破坏你的交易,也可能不会。
我已经对此进行了最少的测试,但它对我有效:
MutationObserver = window.MutationObserver || window.WebKitMutationObserver;
var observer = new MutationObserver(function(mutations, observer) {
// Fires every time a mutation occurs...
// forEach all mutations
mutations.forEach(function(mutation) {
// Loop through added nodes
for (var i = 0; i < mutation.addedNodes.length; ++i) {
// any images added?
if ( mutation.addedNodes[i].getElementsByTagName(\'img\').length > 0) {
alert(\'Featured Image Added\');
// Your featured image now exists
console.log( $(\'#postimagediv img\') );
// Do some AJAX...
}
}
});
});
// define what element should be observed (#postimagediv is the container for the featured image)
// and what types of mutations trigger the callback
var $element = $(\'#postimagediv\');
var config = { subtree: true, childList: true, characterData: true };
observer.observe( $element[0], config );
可能有一种更好的方法来检查特征图像,而不仅仅是检查
img
要素您可能希望有一个var来跟踪特征图像,以便您可以轻松地检查它是否也被删除(或者只需检查
removedNodes
在observer回调中)。
这不会在页面加载时运行,因此您应该首先检查是否存在特色图像。
进一步阅读突变观察者: