При добавлении динамического содержимого или добавлении других элементов после загруженного окна или любых данных Ajax, в этом состоянии статический щелчок $(element).click(function(){})
не работает, Вы должны связать целевой элемент с документом, вот пример [ 116]:
$(document).on('click', 'your target element', function(){
//your code here......
});
_ - - - - - - _
Спасибо
_ - - - - - - _ [115 ]
один из способов, который я могу придумать. сделать это из моих мыслей - это создать файл .command и запустить его так:
echo echo hello > sayhi.command; chmod +x sayhi.command; open sayhi.command
или использовать applescript:
osascript -e 'tell application "Terminal" to do script "echo hello"'
, хотя вам либо придется избегать большого количества двойных кавычек, либо вы не сможете использовать одинарные кавычки
Коллега спросил меня, как открыть A LOT ssh сессий сразу. Я использовал ответ cobbal для записи этого сценария:
tmpdir=$( mktemp -d )
trap '$DEBUG rm -rf $tmpdir ' EXIT
index=1
{
cat <<COMMANDS
ssh user1@host1
ssh user2@host2
COMMANDS
} | while read command
do
COMMAND_FILE=$tmpdir/$index.command
index=$(( index + 1 ))
echo $command > $COMMAND_FILE
chmod +x $COMMAND_FILE
open $COMMAND_FILE
done
sleep 60
Путем обновления списка команд (они не должны быть ssh вызовами), Вы получите дополнительное открытое окно для каждой выполняемой команды. sleep 60
в конце там для имения в наличии .command
файлы, в то время как они выполняются. Иначе оболочка завершается слишком быстро, выполняя прерывание для удаления временного каталога (созданный mktemp), прежде чем запущенные сессии будут иметь возможность считать файлы.
Частичное решение:
Поместите то, что вы хотите, в сценарий оболочки, например,
#!/bin/bash
ls
echo "yey!"
И не забудьте ' chmod + x file
'чтобы сделать его исполняемым. Затем вы можете
open -a Terminal.app scriptfile
, и он будет запущен в новом окне. Добавьте « bash
» в конец скрипта, чтобы не допустить выхода из нового сеанса. (Хотя вам, возможно, придется придумать, как загружать rc-файлы пользователей и прочее ..)
Вот еще один вариант (также с использованием AppleScript):
function newincmd() {
declare args
# escape single & double quotes
args="${@//\'/\'}"
args="${args//\"/\\\"}"
printf "%s" "${args}" | /usr/bin/pbcopy
#printf "%q" "${args}" | /usr/bin/pbcopy
/usr/bin/open -a Terminal
/usr/bin/osascript -e 'tell application "Terminal" to do script with command "/usr/bin/clear; eval \"$(/usr/bin/pbpaste)\""'
return 0
}
newincmd ls
newincmd echo "hello \" world"
newincmd echo $'hello \' world'
см .: codenippets.joyent.com/posts/show/1516
Вы также можете вызвать функцию новой команды Терминала, нажав комбинацию клавиш Shift + ⌘ + N
. Команда, введенная вами в поле, будет запущена в новом окне терминала.
Я уже давно пытался это сделать. Вот сценарий, который переходит в тот же рабочий каталог, запускает команду и закрывает окно терминала.
#!/bin/sh
osascript <<END
tell application "Terminal"
do script "cd \"`pwd`\";$1;exit"
end tell
END