diff --git a/src/jquery.contextMenu.js b/src/jquery.contextMenu.js index 103a5858..1d2a99e8 100755 --- a/src/jquery.contextMenu.js +++ b/src/jquery.contextMenu.js @@ -1076,7 +1076,8 @@ var // currently active contextMenu trigger // add icons if (item.icon) { - $t.addClass("icon icon-" + item.icon); + item._icon = ($.isFunction(item.icon)) ? item.icon.call(this, $t, key, item) : item.icon; + $t.addClass("icon icon-" + item._icon); } } @@ -1149,6 +1150,12 @@ var // currently active contextMenu trigger // dis- / enable item $item[disabled ? 'addClass' : 'removeClass']('disabled'); + + if ($.isFunction(item.icon)) { + $item.removeClass("icon-" + item._icon); + item._icon = item.icon.call(this, $trigger, key, item); + $item.addClass("icon-" + item._icon); + } if (item.type) { // dis- / enable input elements