Javascript JQuery单击代理函数
下面是一个场景。我想自定义内置插件。下面是默认功能的场景 默认情况下的当前场景Javascript JQuery单击代理函数,javascript,jquery,html,proxy,Javascript,Jquery,Html,Proxy,下面是一个场景。我想自定义内置插件。下面是默认功能的场景 默认情况下的当前场景 var img = $('<img src="' + val.thumb + '" />'); $(img).click($.proxy(this.imageThumbClick, this)); imageThumbClick: function (e) { var img = '<img id="image-marker" src="' + $(e.target).attr('r
var img = $('<img src="' + val.thumb + '" />');
$(img).click($.proxy(this.imageThumbClick, this));
imageThumbClick: function (e) {
var img = '<img id="image-marker" src="' + $(e.target).attr('rel') + '" alt="' + $(e.target).attr('title') + '" />';
var parent = this.getParent();
if (this.opts.paragraphy && $(parent).closest('li').size() == 0) img = '<p>' + img + '</p>';
this.imageInsert(img, true); // insert an image
}
有一个列表,如果缩略图图像,当我点击一个图像,然后它只是被插入到该地区。请参阅下面的默认代码
默认编码
var img = $('<img src="' + val.thumb + '" />');
$(img).click($.proxy(this.imageThumbClick, this));
imageThumbClick: function (e) {
var img = '<img id="image-marker" src="' + $(e.target).attr('rel') + '" alt="' + $(e.target).attr('title') + '" />';
var parent = this.getParent();
if (this.opts.paragraphy && $(parent).closest('li').size() == 0) img = '<p>' + img + '</p>';
this.imageInsert(img, true); // insert an image
}
var img=$('');
$(img).单击($.proxy(this.imageThumbClick,this));
imageThumbClick:函数(e){
var img=“”;
var parent=this.getParent();
if(this.opts.paragraphy&&$(parent).closest('li').size()==0)img=''+img+'';
this.imageInsert(img,true);//插入图像
}
我的要求
var img = $('<img src="' + val.thumb + '" />');
$(img).click($.proxy(this.imageThumbClick, this));
imageThumbClick: function (e) {
var img = '<img id="image-marker" src="' + $(e.target).attr('rel') + '" alt="' + $(e.target).attr('title') + '" />';
var parent = this.getParent();
if (this.opts.paragraphy && $(parent).closest('li').size() == 0) img = '<p>' + img + '</p>';
this.imageInsert(img, true); // insert an image
}
我想如果我点击任何缩略图,那么它应该标记为选中,然后如果我点击按钮“插入图像”,那么选定的图像应该插入。但是我的代码不起作用。你能帮我实现我的目标吗
我的自定义代码
var img = $('<img src="' + val.thumb + '" />');
var thisImg;
$(img).click(function () {
$('img').removeClass('checked');
$(this).addClass('checked');
thisImg = $(this);
});
$('#insert-btn').click(function () {
thisImg.imageThumbClick();
});
imageThumbClick: function (e) {
var img = '<img id="image-marker" src="' + $(e.target).attr('rel') + '" alt="' + $(e.target).attr('title') + '" />';
var parent = this.getParent();
if (this.opts.paragraphy && $(parent).closest('li').size() == 0) img = '<p>' + img + '</p>';
this.imageInsert(img, true); // insert an image
}
var img=$('');
var thisImg;
$(img)。单击(函数(){
$('img').removeClass('checked');
$(this.addClass('checked');
thisImg=$(本次);
});
$('#插入btn')。单击(函数(){
thisImg.imageThumbClick();
});
imageThumbClick:函数(e){
var img=“”;
var parent=this.getParent();
if(this.opts.paragraphy&&$(parent).closest('li').size()==0)img=''+img+'';
this.imageInsert(img,true);//插入图像
}
什么不起作用?有错误吗?@reyaner,是的,错误是在cosole“uncaughttypeerror:无法读取未定义的”(匿名函数)jQuery.event.dispatch elemData.handle的属性“imageThumbClick”上,这是有意义的。在您的代码中,您可以像使用对象函数一样使用imageThumbClick
,但是,除非有我们看不到的代码,否则它不在对象内部。