Я предпочитаю использовать селектор, и я применяю его в документе.
Это привязывается к документу и будет применяться к элементам, которые будут отображаться после загрузки страницы.
Например:
$(document).on("click", $(selector), function() {
// Your code here
});
В MS WINDOWS не совсем верно: «java.exe» молча расширяет аргументы командной строки с помощью подстановочных знаков
, но только в последнем компоненте, поэтому
a/*/*
не работает, как вы можете ожидать.
Он также игнорирует записи "." и "..", но выполняет другие имена файлов, начиная с ".".
Чтобы избежать недоразумений: если я посмотрю на командную строку запуска JAVA-процесса с PROCEXP, я вижу нерасширенные аргументы!
Я не нашел возможности обойти это. Другими словами: до тех пор, пока у вас есть хотя бы один файл или каталог в текущем каталоге, «java Calc 3 * 7» НЕ будет работать!
Это ОЧЕНЬ уродливо и, кажется, всегда там во всех версиях JRE вплоть до Java 8.
Есть ли у кого-нибудь представление о том, как отключить гадость командной строки Java?
Используйте одиночные кавычки :
java FooBar 5 3 '*'
Это работает с большинством популярных оболочек (включая bash и ksh).
Это потому, что *
является подстановочным знаком оболочки: он имеет особое значение для оболочки, которая расширяет ее, прежде чем передавать ее команде (в данном случае java
).
вам нужен буквальный *
, вам нужно сбежать из оболочки. Точный способ экранирования зависит от вашей оболочки, но вы можете попробовать:
java ProgramName 5 3 "*"
Или:
java ProgramName 5 3 \*
Кстати, если вы хотите знать что делает оболочка с *
, попробуйте распечатать содержимое String[] args
для вашего метода main
. Вы обнаружите, что он будет содержать имена файлов в вашем каталоге.
Это может быть удобно, если вам нужно передать некоторые имена файлов в качестве аргументов командной строки.
a.log
и b.log
, то команда cat *.log
будет расширена оболочкой до cat a.log b.log
sh
) символы звездочки (*
) и вопросительного знака (?
) являются подстановочными символами, расширенными с помощью globbing , Без предшествующего escape-символа *
будет расширяться до имен всех файлов в рабочем каталоге, которые не начинаются с периода, если и только если есть такие файлы, в противном случае *
остается нерасширенным. Поэтому, чтобы ссылаться на файл, буквально называемый "*"
, оболочке должно быть сказано не интерпретировать ее таким образом, предшествуя ей обратным слэшем (\
). Попробуйте окружить *
кавычками вроде "*"
. Звезда является зарезервированным символом в командной строке.
* имеет особое значение в интерпретаторах оболочки. Как получить * буквально в зависимости от того, какой интерпретатор оболочки вы используете. Для Bash вы должны поместить одинарные кавычки вокруг *, т. Е. '*', Вместо двойных кавычек, таких как «*».