我有像这样的javascript
$.fn.hasBorder = function() {
if ((this.outerWidth() - this.innerWidth() > 0) || (this.outerHeight() - this.innerHeight() > 0)){
return true;
}
else{
return false;
}
};
function removeImage(){
$(document).ready(function() {
var selectedImgsArr = [];
$("img").click(function() {
if($(this).hasBorder()) {
$(this).css("border", "");
//you can remove the id from array if you need to
}
else {
$(this).css("border", "1 px solid red");
selectedImgsArr.push($(this).attr("id")); //something like this
alert(selectedImgsArr);
}
});
我将此脚本加载到我的页面。为了使用这个脚本
我写了这个
div load="removeImage">
什么不起作用?
答案 0 :(得分:1)
您正在考虑“onload”事件。但这只能用于“身体”元素。即使这样有效,你也必须像这样写“... =”removeImage()“。
这里有关于SO的类似问题,this one解释了如何在“div”上加上“onload”。
答案 1 :(得分:1)
如果您在load
上使用div
,则无法在脚本上使用document.ready
。因为如果你这样做,你所说的是:“在div load事件寄存器上,一个将在页面准备就绪时执行的监听器”。但是......在注册听众之前,该事件被解雇了。
此外,您无法在onload
div
上使用body
。
简而言之,就这样做:
$(document).ready(function() {
var selectedImgsArr = [];
$("img").click(function() {
if($(this).hasBorder()) {
$(this).css("border", "");
//you can remove the id from array if you need to
} else {
$(this).css("border", "1 px solid red");
selectedImgsArr.push($(this).attr("id")); //something like this
alert(selectedImgsArr);
}
});
});
然后从HTML中删除load="removeImage"
。