我有一个发行人,我在这个'对象'中失去了'this'.以下javascript的输出给了我"some-id"然后"undefined".当我在回调函数中使用'this'时,范围会超出对象,并且不再使用'this'.如何让回调使用'this'或者至少可以访问该对象?
由于我将创建多个对象,因此我无法创建像存储一样的"静态".请帮助这个javascript n00b ;-)
这是我的测试代码,您可以用它来重现我的问题.我想要的是CheckBox.doSomething()返回该测试用例this.id应匹配的值some-id.
function CheckBox(input_id) {
this.id = input_id;
this.doSomething();
$('#some-element').click(this.doSomething);
}
Checkbox.prototype.doSomething = function() {
alert(this.input_id);
}
var some_box = new CheckBox('some-id');
some_box.doSomething();
$('#some-element').click();
Run Code Online (Sandbox Code Playgroud)
编辑:我甚至无法让它按照我的要求工作:
function CheckBox2(input_id) {
this.id = input_id;
alert(this.id);
}
CheckBox2.prototype.doSomething = function() {
alert(this.input_id);
}
var some_box = new CheckBox2('some-id');
some_box.doSomething();
Run Code Online (Sandbox Code Playgroud) 我试图将自定义图像设置为子弹.当我使用背景或背景图像标签时它是工作但不能与列表类别正确对齐.当我使用list-style-image时,它不会将图像显示为子弹.
问题:
CSS
萤火

当我将鼠标移到上面时,图像也会显示在萤火虫中
错误的最终输出

方案:
正确输出我想要的
