Q:

Handlebars specific - escape both single and double quotes when passing Handlebars expression

HTML and Handlebars: 
onclick='shareItem("{{name}}")'> 

Does not successfully pass a safely escaped name when it has double quotes in it.
onclick="shareItem('{{name}}')"> 

Does not successfully pass a safely escaped name when it has single quotes in it.
I need to handle both eventualities- and even in the same string.
It feels sloppy to have to define a JS variable and pass it to a backslash adder.
Is there a cleaner way to do this with Handlebars or Moustache?

A:

You need to register a inline helper that manipulates the context. In your case, you need to escape a single or double quote.
Handlebars.registerHelper('escape', function(variable) {
  return variable.replace(/(['"])/g, '\\$1');
});

By registering such helper, you can use it with a variable to achieve what you want.
{{ escape name }} # expects to escape any ' or "

I wrote a simple example to demonstrate this on jsfiddle: http://jsfiddle.net/VLy4L/

A:

I have a problem trying to escape single quotes, and I use the helper that handleblars provide, you can use triple brackets {{{ variable }}} for escape

