我目前在使用jQuery代码时遇到问题,我知道问题出在哪里,但我不知道问题究竟是什么。可能非常基本,但我是新手。
你可以在这里看到一个(非)工作小提琴:http://www.jsfiddle.net/CvZeQ/
基本上我想根据选择的内容设置不同的.click函数(我有5个图像映射,每个都有不同的#mapname,并且希望每个映射属于不同的变量(answer1,answer2,answer3 ......)以便为每张地图存储选定的“答案”。)
以下是我用于其中一张地图的代码:
$(window).load(function(){
//Get cookies when page loaded
var useranswers=$.cookie('survery');
useranswers= JSON.parse (useranswers);
// do something with previous answers
//#shape functions
$('#shape area').hover(
function(e){
$('#'+ this.alt).addClass('hover');
},
function(e){
$('#'+ this.alt).removeClass('hover');
}
).click(
function(e){
$('img.selected-region').removeClass('selected-region');
},
function(e){
$('#'+ this.alt).addClass('selected-region');
},
function(e){
var answer1 = $(this).attr("class");
});
});
我知道问题出在.click函数的某个地方,但我不完全确定我做错了什么。任何帮助将不胜感激。
答案 0 :(得分:3)
.click()
不接受三个回调,它只接受一个回调。如果您打算在点击时按顺序执行所有三个,请尝试将它们全部合并到一个function(e)
,如下所示:
.click(
function(e){
$('img.selected-region').removeClass('selected-region');
$('#'+ this.alt).addClass('selected-region');
var answer1 = $(this).attr("class");
});
另外,更改
$(window).load(function(){
到
$(document).ready(function(){