Skip to content

Commit c5ba852

Browse files
committed
fixing potential html parsing problem
1 parent 82e3b54 commit c5ba852

File tree

1 file changed

+25
-12
lines changed

1 file changed

+25
-12
lines changed

src/jquery.contextMenu.js

Lines changed: 25 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -900,7 +900,7 @@ var // currently active contextMenu trigger
900900
root = opt;
901901
}
902902
// create contextMenu
903-
opt.$menu = $('<ul class="context-menu-list ' + (opt.className || "") + '"></ul>').data({
903+
opt.$menu = $('<ul class="context-menu-list"></ul>').addClass(opt.className || "").data({
904904
'contextMenu': opt,
905905
'contextMenuRoot': root
906906
});
@@ -916,7 +916,7 @@ var // currently active contextMenu trigger
916916

917917
// create contextMenu items
918918
$.each(opt.items, function(key, item){
919-
var $t = $('<li class="context-menu-item ' + (item.className || "") +'"></li>'),
919+
var $t = $('<li class="context-menu-item"></li>').addClass(item.className || ""),
920920
$label = null,
921921
$input = null;
922922

@@ -974,31 +974,43 @@ var // currently active contextMenu trigger
974974

975975
switch (item.type) {
976976
case 'text':
977-
$input = $('<input type="text" value="1" name="context-menu-input-'+ key +'" value="">')
978-
.val(item.value || "").appendTo($label);
977+
$input = $('<input type="text" value="1" name="" value="">')
978+
.attr('name', 'context-menu-input-' + key)
979+
.val(item.value || "")
980+
.appendTo($label);
979981
break;
980982

981983
case 'textarea':
982-
$input = $('<textarea name="context-menu-input-'+ key +'"></textarea>')
983-
.val(item.value || "").appendTo($label);
984+
$input = $('<textarea name=""></textarea>')
985+
.attr('name', 'context-menu-input-' + key)
986+
.val(item.value || "")
987+
.appendTo($label);
984988

985989
if (item.height) {
986990
$input.height(item.height);
987991
}
988992
break;
989993

990994
case 'checkbox':
991-
$input = $('<input type="checkbox" value="1" name="context-menu-input-'+ key +'" value="">')
992-
.val(item.value || "").prop("checked", !!item.selected).prependTo($label);
995+
$input = $('<input type="checkbox" value="1" name="" value="">')
996+
.attr('name', 'context-menu-input-' + key)
997+
.val(item.value || "")
998+
.prop("checked", !!item.selected)
999+
.prependTo($label);
9931000
break;
9941001

9951002
case 'radio':
996-
$input = $('<input type="radio" value="1" name="context-menu-input-'+ item.radio +'" value="">')
997-
.val(item.value || "").prop("checked", !!item.selected).prependTo($label);
1003+
$input = $('<input type="radio" value="1" name="" value="">')
1004+
.attr('name', 'context-menu-input-' + item.radio)
1005+
.val(item.value || "")
1006+
.prop("checked", !!item.selected)
1007+
.prependTo($label);
9981008
break;
9991009

10001010
case 'select':
1001-
$input = $('<select name="context-menu-input-'+ key +'">').appendTo($label);
1011+
$input = $('<select name="">')
1012+
.attr('name', 'context-menu-input-' + key)
1013+
.appendTo($label);
10021014
if (item.options) {
10031015
$.each(item.options, function(value, text) {
10041016
$('<option></option>').val(value).text(text).appendTo($input);
@@ -1008,6 +1020,7 @@ var // currently active contextMenu trigger
10081020
break;
10091021

10101022
case 'sub':
1023+
// FIXME: shouldn't this .html() be a .text()?
10111024
$('<span></span>').html(item._name || item.name).appendTo($t);
10121025
item.appendTo = item.$node;
10131026
op.create(item, root);
@@ -1026,7 +1039,7 @@ var // currently active contextMenu trigger
10261039
k.callbacks[key] = item.callback;
10271040
}
10281041
});
1029-
1042+
// FIXME: shouldn't this .html() be a .text()?
10301043
$('<span></span>').html(item._name || item.name || "").appendTo($t);
10311044
break;
10321045
}

0 commit comments

Comments
 (0)