我有一个input type="image"
.这类似于Microsoft Excel中的单元格注释.如果有人在input-image
与之配对的文本框中输入一个数字,我会为其设置一个事件处理程序input-image
.然后当用户点击时image
,他们会得到一些弹出窗口,为数据添加一些注释.
我的问题是,当用户在文本框中输入零时,我需要禁用input-image
事件处理程序.我试过以下,但无济于事.
$('#myimage').click(function { return false; });
Run Code Online (Sandbox Code Playgroud) 我对JavaScript的delete
运算符有点困惑.采取以下代码:
var obj = {
helloText: "Hello World!"
};
var foo = obj;
delete obj;
Run Code Online (Sandbox Code Playgroud)
在执行了这段代码之后,obj
是null
,但foo
仍然指的是一个完全相同的对象obj
.我猜这个对象是foo
指向的同一个对象.
这让我很困惑,因为我期望写作delete obj
删除了obj
指向内存的对象- 而不仅仅是变量obj
.
这是因为JavaScript的垃圾回收工作在保留/释放的基础,所以,如果我没有指向对象的任何其他变量,它会从内存中清除?
(顺便说一句,我的测试是在Safari 4中完成的.)
javascript garbage-collection pointers memory-management object