फ़ायरबग किसी भी स्थान के साथ "फ़ंक्शन में फ़ंक्शन नहीं" त्रुटि की रिपोर्ट कर रहा है (ठीक है, कुछ भी नहीं 1)। मैं इस त्रुटि के स्रोत को कैसे ट्रैक कर सकता हूं?फ़ंक्शन में वापस नहीं
return not in function
[Break on this error] return(0)
javascript:return... (line 1)
मैं FireBug 1.05 चल रहा हूँ एफएफ 2.0.0.20 पर Ubuntu पर।
मैं एक समाधान कि (इस विन्यास के लिए) काम करता पाया:
var link = document.createElement('a');
link.href='/';
if (childSummary.more) {
link.onclick = capture(function(id) { follow(id); }, childSummary.id);
} else {
link.onclick = capture(function(id) { show(id); }, childSummary.id);
}
link.appendChild(document.createTextNode(name));
div.appendChild(link);
[...]
function capture(fn, val) {
return function() { fn(val); return false; };
}
कोड एक पाश जिसमें आईडी बदल रहा था में था, पर कब्जा समारोह की जरूरत महसूस।
पूर्व में href 'जावास्क्रिप्ट: वापसी 0' था और कैप्चर फ़ंक्शन सीधे एफएन के परिणाम का उपयोग करके झूठी वापसी नहीं कर रहा था, और जब यह सत्य के बराबर लौटा रहा था तो एक रास्ता था। त्रुटि का कारण बनने पर href का मूल्यांकन किया जा रहा था।
href को '#' या '' के रूप में परिभाषित करने के कारण सभी लिंक पहले से ही दिखाई देने लगे हैं। किसी भी लिंक को हाइलाइट करने के कारण सभी को href परिभाषित नहीं किया गया है। यह सबसे आसान लग रहा था।
ऐसा लगता है। मैं ऑनक्लिक फ़ंक्शन के साथ एक लिंक उत्पन्न करने और लिंक की href विशेषता सेट करने के लिए जावास्क्रिप्ट का उपयोग कर रहा हूं। ऑनक्लिक फ़ंक्शन इसके संचालन के अंत में झूठा रिटर्न देता है और मैंने सोचा कि यह href को मूल्यांकन करने से रोक देगा। चूंकि यह अभी विफल रहा है, इसलिए मैं सोच रहा हूं कि ऑनक्लिक फ़ंक्शन में कुछ पहले अलग-अलग व्यवहार कर रहा है या नहीं। – dougfelt
क्या हम आपके लिंक के लिए सही कोड देख सकते हैं?"झूठे लौटें" एक onclick के अंदर ठीक है; यह मूल्यांकन किया जा रहा से href बंद हो जाता है। लेकिन आप इसे इस तरह से उपयोग कर रहे हैं, अपने आप में एक href यूआरएल, नहीं अधिक जे एस होना चाहिए। कि यह था http://www.javascripttoolbox.com/bestpractices/#onclick –
यह कैसे उपयोग करने के लिए onclick से एंकर को रोकने के लिए के लिए एक अच्छा विवरण लोड किए जा रहे है। –