Håkon Nordli
Jan 8, 2016
  6057
(0 votes)

Dojo - How to keep the widget's scope

When binding an event in JavaScript the scope outside the binding is not the same as inside. Which means that "this" is not the same outside as inside the binding.

Below there is a JavaScript example, which console.logs two different "this". The first console.log prints the object Foo, the second console.log prints the button object.

 

image

 

However, sometimes we want to keep the scope. This is often solved by putting "this" in a variable, like the example below. This way both console.logs prints the Foo object.

 

image

 

In Dojo there is a built-in function, hitch, which can keep the scope. This can come in handy when developing Dijit widgets.

In the example below hitch forces the on method to retain the original scope. In this way we keep "this" inside the callback, and we do not need to create a variable for "this" like we did above.

 

image

Jan 08, 2016

Comments

Please login to comment.
Latest blogs
Before Upgrading to Optimizely CMS 13: A Developer Checklist

A practical checklist for reviewing a CMS 12 solution before moving to Optimizely CMS 13.

Wojciech Seweryn | May 26, 2026 |

From websites to agents. Five takeaways from the Optimizely Partner Close-Up in Stockholm

Last week was the annual partner close-up event in Stockholm, Sweden, fast becoming a favourite Optimizely event of the year. An opportunity to mee...

Mark Welland | May 26, 2026

Visibility — The Six Audits I Run on Every Optimizely Engagement

Long-running content management systems accumulate problems that never throw exceptions. The Editor Power Tools audit family is six lenses on what...

Allan Thraen | May 26, 2026 |

Understanding Optimizely Opal Cost

Opal pricing are transparent at large extent, It is based on a credit consumption model rather than fixed per-user licensing or tokens consumptions...

K Khan | May 25, 2026

Optimizely CMS 12 Now Fully Supports .NET 10

This is the latest installment in our ongoing series covering .NET version support for Optimizely products. If you've been following along, you may...

Bien Nguyen | May 25, 2026

Optimizely Opal: How to Build Effective Workflow Agents

If you're building workflow agents in Optimizely Opal, this post covers how specialized agents pass context to each other, why keeping agents small...

Andre | May 20, 2026