我知道有一个名为.hasClass();
的插件我有以下
$('#page_background, #header_background').ColorPicker({...
如何检查是否单击了page_background而不是header_background?
这就是我现在所拥有的,它不会起作用。
$('#page_background, #header_background').ColorPicker({
onSubmit: function(hsb, hex, rgb, el) {
$(el).val(hex);
$(el).ColorPickerHide();
var id = this.id;
if(id == 'page_background')
$('body').css("background-color","#"+hex);
},
onBeforeShow: function () {
$(this).ColorPickerSetColor(this.value);
}
})
.bind('keyup', function(){
$(this).ColorPickerSetColor(this.value);
});
答案 0 :(得分:9)
$(function(){
$('#page_background, #header_background').click(function(){
var id = this.id;
if(id == 'page_background')
// page background
else
//header
});
});
正在使用此内部colorpicker onSubmit
函数
onSubmit: function(hsb, hex, rgb, el) {
您将元素设为el
,以便id
使用
var id = $(el).attr('id');
// or
var id = $(el).prop('id'); // new way
//or simply
var id = el.id; // this should work too
答案 1 :(得分:4)
假设您有对this
中存储的被点击元素的引用,您可以简单地使用本机DOM属性:
var id = this.id;
如果this
是jQuery对象而不是DOM节点,则可以使用this.attr("id")
。
另请注意,hasClass
是一种普通的jQuery方法,而不是插件。它是标准jQuery库的一部分。