javascript - 更改 div 背景颜色 Shift + 单击 (javascript)?

标签 javascript html onclick click shift

我已经有了 onclick 事件,用于在鼠标单击时更改 div 的边框颜色。

我希望能够在 Shift + 单击时单独更改背景颜色,而不更改边框颜色。

如何实现这一目标?

编辑:

当前多次点击和shift+点击的代码:

<script> 
var linkClick = 1; 
  function update_x(obj){ 
  if (linkClick == 1){obj.style.border = 'solid 1px #eeeeee';};
  if (linkClick == 2){obj.style.border = 'solid 1px red'};
  if (linkClick == 3){obj.style.border = 'solid 1px rgba(50, 255, 50, 1)'};
  if (linkClick == 4){obj.style.border = 'solid 1px rgba(70, 180, 255, 1)'};
  if (linkClick == 5){obj.style.border = 'solid 1px yellow'};
  if (linkClick >5 ) {obj.style.border = 'solid 1px #555555'; linkClick=0};
  linkClick++; 
}
</script>
<script>
function changeDivColor (event) {
    event = event || window.event;
    var myDiv = document.getElementById("b14")
    if (event.shiftKey == true) {
        myDiv.style.backgroundColor = "blue";  
    }
}
window.onload = function () {
    document.getElementById("b14").onclick = function (event) {
        changeDivColor (event);
        update_x(this);
    }
}
</script>

编辑2 - 由杰夫曼解决

最佳答案

最新代码。在这里查看它的工作原理:http://jsfiddle.net/jeffman/Y3QET/

var linkClick = 1; 
function update_x(obj) { 
    if (linkClick == 1){obj.style.border = 'solid 1px #eeeeee';};
    if (linkClick == 2){obj.style.border = 'solid 1px red'};
    if (linkClick == 3){obj.style.border = 'solid 1px rgba(50, 255, 50, 1)'};
    if (linkClick == 4){obj.style.border = 'solid 1px rgba(70, 180, 255, 1)'};
    if (linkClick == 5){obj.style.border = 'solid 1px yellow'};
    if (linkClick >5 ) {obj.style.border = 'solid 1px #555555'; linkClick=0};
    linkClick++; 
}

function changeDivColor (el, event) {
    if (event.shiftKey == true) {
        el.style.backgroundColor = "blue";  
    }
}
window.onload = function () {
    var i = 1, len = 5; // len is the number of elements using the b1 id pattern
    for (i; i <= len; i++) {
        document.getElementById("b" + i).onclick = function (event) {
            event = event || window.event;
            changeDivColor (this, event);
            update_x(this); // or whatever your other function is.
        }
    }
}

关于javascript - 更改 div 背景颜色 Shift + 单击 (javascript)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18046161/

相关文章:

javascript - 升级到 iOS 7 后,通过 USB 连接的 iPhone 未出现在 OS X Safari 'Develop' 菜单中

javascript - 按钮onClick在reactjs中不起作用

html - 应该 &'s be escaped in onclick="...”?

javascript - Ember 重定向仅在您第一次进入路线时触发

GWT JSNI 中的 Javascript 条件编译

javascript - 如何访问 XUL Overlay 的 DOM

html - 带有 Neon 样式 css 的左右边框

Javascript 不适用于最大/最小按钮?

javascript - 将脚本/样式从 DOM 传递到子 iFrame

javascript - 将 If/Else 条件变成 for 循环?