आपको नामित कार्यों का उपयोग करने की आवश्यकता है।
इसके अलावा, click
चर को बढ़ने के लिए हैंडलर के बाहर होना चाहिए।
var click_count = 0;
function myClick(event) {
click_count++;
if(click_count == 50) {
// to remove
canvas.removeEventListener('click', myClick);
}
}
// to add
canvas.addEventListener('click', myClick);
संपादित करें: आप click_counter
चर को इस तरह से बंद कर सकते हैं :
var myClick = (function( click_count ) {
var handler = function(event) {
click_count++;
if(click_count == 50) {
// to remove
canvas.removeEventListener('click', handler);
}
};
return handler;
})( 0 );
// to add
canvas.addEventListener('click', myClick);
इस तरह आप कई तत्वों में काउंटर बढ़ा सकते हैं।
यदि आप ऐसा नहीं चाहते हैं, और चाहते हैं कि हर एक का अपना काउंटर हो, तो यह करें:
var myClick = function( click_count ) {
var handler = function(event) {
click_count++;
if(click_count == 50) {
// to remove
canvas.removeEventListener('click', handler);
}
};
return handler;
};
// to add
canvas.addEventListener('click', myClick( 0 ));
EDIT: मैं हैंडलर का नाम पिछले दो संस्करणों में लौटा देना भूल गया था। फिक्स्ड।
if(click == 50) {
होना चाहिएif( click === 50 )
याif( click >= 50 )
- वे उत्पादन में बदलाव नहीं करेंगे, लेकिन पवित्रता कारणों से ये चेक अधिक समझ में आते हैं।