我有一個函數,將點擊觸發(使用jQuery)。Javascript變量無法訪問
我不明白爲什麼以下不起作用,並顯示undefined。
var testFunc = function(event) {
var data = event.data;
var category = data.category;
var action = data.action;
var label = data.label;
console.debug(data);
// prints:
// {'category': 'CCC', 'action': 'AAA', 'label': 'LLL'}
console.debug(data.category);
// prints: undefined
console.debug(category);
// prints: undefined
console.debug(data[category]);
// prints: undefined
};
$(document).ready(function() {
$('.test').on('click', function() {
var jsonData;
try {
jsonData = JSON.parse($(this).data('test'));
}
catch (e) {
// I guess here is the problem:
jsonData = $(this).data('test');
// ..but why JSON.parse doesn't work
}
try {
testFunc({ data: jsonData });
} catch (e) {
}
});
});
HTML:
<a href="about:blank" target="_blank" class="test"
data-test="{'category': 'CCC'}">click event triggered here</a>
如何訪問event.data.category?
FIDDLE:http://jsfiddle.net/ytqp45wj/
你能在小提琴中重放嗎? – tymeJV
'typeof'數據是什麼? –
數據是一個普通的對象,還是一些實現toString不同的結構? – phtrivier