2012-04-16 2 views
-2

У меня есть 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

У вас есть jquery? У вас действительно есть div без запуска '<'? Вы получаете какие-либо ошибки? Пожалуйста, воздержитесь от вашего вопроса и укажите более подробную информацию, чем просто код. Также полезен фрагмент HTML, в который вы включаете JS. – Gazler

+0

Пришло время узнать, что ненавязчиво. – Bakudan

ответ

1

Если вы используете load на ваш div вы не можете использовать document.ready по сценарию Потому что если вы делаете это таким образом, что вы говорите: «. на сНу случае нагрузки зарегистрировать слушатель, который будет выполняться, когда страница готово ", но ... это событие было уволено, прежде чем регистрировать слушателя.

Также вы не можете использовать 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); 
     } 
    }); 
}); 

И удалить load="removeImage" из вашего HTML.

+0

Не совсем верно: регистрация слушателя в готовом к событию документа запускает слушателя сразу же после запуска исходного события onload. – aefxx

+0

Прохладный! Не знал этого, спасибо, чтобы прояснить это :) –

1

Вы думаете о событии «onload». Но это можно использовать только в элементе «body». И даже если бы это сработало, вам нужно было бы написать это так: «... =« removeImage() ».

Здесь похожие вопросы здесь, на SO, this one, объясняет, как поставить« onload »на« div », .

Смежные вопросы