2013-10-09 5 views
1

У меня возникли проблемы со следующим кодом (это как раз не изменит верхний атрибут: сек)Невозможно изменить стиль элемента массива с OnClick

var selectedDivs = new Array(); 

function addBorder(e) { 
     if ($ctrlBeingpressed == true) { 
     e.target.style.border="5px solid green"; // to show they are selected 
     selectedDivs.push(e.target); 
     } 
    } 

    function test(){ 
    alert('changing position'); 
    selectedDivs[0].style.top="10px"; 
    } 


<button type="button" onclick="test()">Right</button> 

Некоторые генерируется HTML (addBorder называется в OnClick на одном из в DIV здесь):

<!DOCTYPE html> 
<html lang="en"> 

    <head> … </head> 
    <body style="position: absolute; cursor: auto;" application"="" onkeyup="clearPress()> <div id=" onkeydown="controlCheck(event)"> 
     <div id="accordion" class="ui-accordion ui-widget ui-helper-reset" style="position:absolute;top:0px;left:0px;width:300px;height:900px" role="tablist"> … </div> 
     <div id="buttons" style="position:absolute;top:0px;left:315px;width:1100px;height:50px;border:2px solid grey"> … </div> 
     <div id="canvas" class="DROPPABLE ui-droppable" style="position:absolute;top:50px;left:315px;width:1100px;height:850px;border:2px solid grey"> 
      <div class="DRAGGABLE ui-widget-content ui-draggable" style="border: 1px solid red; width: 120px; height: 60px; top: 156.117px; left: 188.117px; position: relative;" onclick="addBorder(event)"> 
       <img id="PMF00" src="/devices/AAU01-010.gif" style="border: 5px solid green;"></img> 
      </div> 
      <div class="DRAGGABLE ui-widget-content ui-draggable" style="border: 1px solid red; width: 120px; height: 60px; top: 10px; left: 10px; position: relative;" onclick="addBorder(event)"> 
       <img id="PMF01" src="/devices/AAU01-010.gif"></img> 
      </div> 
     </div> 
    </body> 

</html> 
+0

выглядит как у вас есть другие элементы, размещенные на верхней части кнопки http://jsfiddle.net/ arunpjohny/ZUTNg/1/ –

+0

Вместо использования onclick = "addBorder (event)" я использовал onclick = "addBorder (this)", убедившись, что я не изменил стиль изображения, который я что происходило здесь. (Потому что изображение было в div, ofcoures он бы не двигался) – Firebirdz

ответ

1

вы уверены, что это

$ctrlBeingpressed 

установлен, и это правда?

В противном случае это

selectedDivs.push(e.target); 

обыкновение выполняться и ваш

selectedDivs[0] 

будет неопределенным

+0

Вместо использования onclick = "addBorder (event)" Я использовал onclick = "addBorder (this)", убедившись, что я не изменил стиль изображения , что и происходило здесь. (Потому что изображение было в div, ofcoures он не двигался) – Firebirdz

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