Да, это возможно. Поскольку вы пометили этот вопрос только с помощью jQuery, вам лучше использовать метод text()
вместо html()
или innerHTML
, а затем преобразовать его в целое число, прежде чем проводить сравнение. Попробуйте это:
var keycode = parseInt($('span').text(), 10);
$('#foo').on('keypress', function(e) {
if (e.keyCode === keycode) {
console.log(`You pressed '${String.fromCharCode(keycode)}', keycode: ${e.keyCode}`);
}
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<p>
Keycode: <span>97</span>
</p>
<p>
Press 'a' in this field:
<input type="text" id="foo" />
</p>
Возможно, Вы могли использовать другой вид списка, который поддерживает сортировку непосредственно?
List<KeyValuePair<string, string>> optionInfoList = ...;
if (sorting) {
optionInfoList.Sort((x,y) => String.Compare(x.Key, y.Key));
}
return optionInfoList;
Если необходимо использовать NameValueCollection
и у Вас нет многих объектов в наборе, затем он прекрасен. Никакая потребность стать немного более необычным, чем это, если это get's сделанное задание.
Если это - узкое место производительности, то пересмотрите.