2015-06-19 117 views
-1

我试图通过使用JavaScript更改div的背景颜色,但未应用更改,因为当我按下按钮 时,浏览器为页面重新加载并恢复为默认设置没有改变。使用JavaScript更改div样式,无需重新加载页面

如何在没有页面重新加载或应用更改的情况下更改div的背景颜色?

+1

这是可能的,你只需要先给出标记 –

+3

如果你没有发布它,没有人可以告诉你你的代码有什么问题。 – Gary

+0

听起来像是浏览器问题。如果您使用Chrome,请使用隐身模式。这会每次清除缓存。 – FirebladeDan

回答

3

下面是使用jQuery一些代码,更改背景不重装:

<!doctype html> 
<html> 
<head> 
    <meta charset="utf-8"> 
    <title>Changing DIV Background Color</title> 
    <script src="https://code.jquery.com/jquery-2.1.4.min.js"></script> 
    <style> 
    #changing_background { 
    background-color: red; 
    min-height: 200px; 
    } 
    </style> 
</head> 
<body> 

<div id="changing_background"></div> 

<button id="change_background">Click Me</button> 

<script> 
    $("#change_background").click(function(e){ 
    $("#changing_background").css("background-color", "blue"); 
    }); 
</script> 

</body> 
</html> 
3

页面重新加载是因为您的按钮位于表单内,当您单击它时 - 您提交表单。

里面的onclick功能,你需要防止默认动作,刚刚结束与:

return false; 

如果你问为什么:submit是默认的按钮类型:

按钮类型

  • 提交:按钮提交表单数据到服务器。 如果未指定属性,或者如果属性为 动态更改为空值或无效值,则这是默认值。
  • 重置:该按钮将所有控件重置为其初始值。
  • button:该按钮没有默认行为。它可以有客户端脚本与元素的事件关联,当事件发生时触发该事件。

推荐阅读:

+1

这只适用于提交按钮 – Gary

+0

对于任何按钮 - [检查此](http://jsfiddle.net/gdb37t5h/) – skobaljic

+1

有趣的捕获,但不是“任何按钮”。 'input type ='button''和'button type ='button'' [不要这么做](http://jsfiddle.net/gdb37t5h/1/)。 – Gary

相关问题