我正在编写一个 JavaScript 行为,它将自动创建一个 CSS 精灵按钮,不需要任何自定义 CSS。我的第一个问题是:以前做过吗?这似乎是一个显而易见的想法,但我没有找到任何东西,或者我在寻找错误的地方。
当用户按下按钮本身时,我可以让脚本工作。我没有做的是在用户单击另一个按钮时设置一个按钮的状态。(对于单选按钮,这很重要:)
我使用... $(image).on("setFrame", this.setFrame); ...向图像添加 setFrame 方法,然后创建一个插件来触发该方法:
(function($){
/* A plugin to trigger a setFrame() method on a different
* element than the one that was clicked.
*/
$.fn.setImageFrame = function(frame) {
return this.each(function() {
console.log(this);
// Q. Nothing happens on the next line. Why not?
$(this).trigger('setFrame', frame);
});
};
})( jQuery );
对 .trigger() 的调用什么也不做。
对于加分,如何测试是否在图像上设置了 setFrame 方法?我见过不同的解决方案,但我测试过的都没有给我一个积极的结果。
编辑:问题是 setFrame 方法附加到 img 元素,并且调用 t trigger() 被发送到其父 div 元素。