当按下按钮触发此事件时,我制作了作为事件持有者的脚本标签。设置如下:我有6个按钮,我从btn1到btn6做了六次。
<input type="button" id="btn1" value="AUS">
<script type="text/javascript">
var modal = document.getElementById('modal');
var shade = document.getElementById('shade');
document.getElementById('btn1').onclick = function() {
var src = "img2/Australia.jpg";
var img = document.getElementById("placeholderImg");
img.src = src;
img.style.display = "inline";
modal.style.display = shade.style.display = 'block';
};
document.getElementById('close2').onclick = function() {
modal.style.display = shade.style.display = 'none';
};
</script>
在我完成后,我注意到它们正在工作,但是有些实例它们停止运行,我的朋友告诉我,“如果你使用Jquery Switch声明怎么办?”。这是我想出来的,但是如果你能帮助我指出我的错误,我无法让它发挥作用。我将非常感激。
Jquery代码:
$('.sbutton').on('click', function () {
switch (this.val()) {
case 'btn1':
var src = "img2/Australia.jpg";
var img = document.getElementById("placeholderImg");
img.src = src;
img.style.display = "inline";
modal.style.display = shade.style.display = 'block';
break;
}
});
答案 0 :(得分:3)
在事件处理程序中,this
是本机DOM元素。
更改
switch (this.val()) {
到
switch ($(this).val()) {
或(更好)
switch (this.value) {
但你应该在控制台中看到错误。请阅读Using the console。