JSFiddle - React, Tailwind, and code Playground
by Michael Gunderson
HTML
<input type="text" id="firsttest" value="do ANYTHING with me" />
<br/><br/>
Result:<br />
<div id="r"></div>
JavaScript
// Plugin contextDelete:
(function($) {
$.fn.contextDelete = function(callback) {
var obj = {
target: $(this),
menuOpen: false,
targetValue: null
};
obj.target.bind({
contextmenu: function() {
obj.menuOpen = true;
obj.targetValue = obj.target.val();
// Hack for IE:
if ($.browser.msie) {
var ieInt = setInterval(function() {
if (obj.target.val().length < obj.targetValue.length) {
obj.target.event.trigger($.Events['input']);
}
if (!obj.menuOpen) {
clearInterval(ieInt);
}
}, 300);
}
},
input: function(e) {
obj.menuOpen = false;
callback();
},
keypress: function() {
obj.menuOpen = false;
}
});
};
})(jQuery);
// Example Useage:
$('#firsttest').contextDelete(function(e) {
$('#r').prepend('You just deleted something! <br />');
});