08.07.2013, 17:29
|
Кандидат Javascript-наук
|
|
Регистрация: 25.09.2012
Сообщений: 111
|
|
Ruslan, вышеописанное вами я уже реализовал давно, а вот недавно отказался от jquery и переписал практически все на "чистый" js, только вот метод click() не могу свой написать, в этом и загвоздка
|
|
08.07.2013, 17:32
|
Профессор
|
|
Регистрация: 27.04.2012
Сообщений: 1,410
|
|
вам же сказали, что как вы хотите кроссбраузерно работать не будет. делайте сначала кнопку, а поверх прозрачный итем. что не понятного?
|
|
08.07.2013, 17:35
|
|
Студент
|
|
Регистрация: 30.04.2012
Сообщений: 1,113
|
|
Сообщение от zzzzzz
|
У jquery есть метод click(). Как на чистом js написать этот метод и что мне для этого нужно
|
Помоему и jquery нельзя этим методом кликнуть на input-file
|
|
08.07.2013, 17:39
|
без статуса
|
|
Регистрация: 25.05.2012
Сообщений: 8,219
|
|
Сообщение от vadim5june
|
Помоему и jquery нельзя этим методом кликнуть на input-file
|
vadim5june,
Вродь onchange работает... И cмысл кликать на него ?
<style>span,input:hover{cursor:pointer}</style>
<span onclick="alert('A')" style="background:url(http://javascript.ru/forum/images/editor/insertimage.gif) no-repeat 140px center;"><input type=file style="opacity:0"></span>
Последний раз редактировалось Deff, 08.07.2013 в 18:09.
|
|
08.07.2013, 17:43
|
|
Студент
|
|
Регистрация: 30.04.2012
Сообщений: 1,113
|
|
Сообщение от Deff
|
vadim5june,
Вродь onchange работает... B cмысл кликать на него ?
|
Я так понял что програмно кликнуть методом click хотят
$(inputFile).click()
|
|
08.07.2013, 17:54
|
без статуса
|
|
Регистрация: 25.05.2012
Сообщений: 8,219
|
|
vadim5june,
Да вродь смысла особого нет, все одно - окно должно открыться - значит событие от пользователя,
типично всё это нужно для костомизации инпута
|
|
08.07.2013, 17:59
|
|
Студент
|
|
Регистрация: 30.04.2012
Сообщений: 1,113
|
|
Сообщение от Deff
|
типично всё это нужно для костомизации инпута
|
может я не понял что имелось ввиду
Сообщение от zzzzzz
|
При клике на ссылку fileSelect запускаю функцию а в ней document.getElementById("fileElem").click(); что с свою очередь эмитирует нажатие на input с типом file.
Все это для того чтобы скрыть некрасивую форму загрузки файлов.
|
|
|
08.07.2013, 18:06
|
без статуса
|
|
Регистрация: 25.05.2012
Сообщений: 8,219
|
|
vadim5june,
Да все извраты, чтобы свой инпут оформить, кликнуть по нему, а тот передаст клик настоящему
Точно так же, можно упразрачнить текущий, и клик по нему , сделать видимым - якобы клика по своему, а событие клика - отслеживается идентично,
|
|
08.07.2013, 18:07
|
|
Студент
|
|
Регистрация: 30.04.2012
Сообщений: 1,113
|
|
Сообщение от Deff
|
Да все извраты, чтобы свой инпут оформить, кликнуть по нему, а тот передаст клик настоящему
|
понятно
|
|
08.07.2013, 20:51
|
Кандидат Javascript-наук
|
|
Регистрация: 25.09.2012
Сообщений: 111
|
|
Это не извраты это мозилла советует https://developer.mozilla.org/en-US/...b_applications см. раздел "Using hidden file input elements using the click() method"
Мне уже сказали что это не кроссбраузерно но я все же хочу покопаться в этом, хуже не будет
Ребят каждый ваш вариант правильный, но все же мне хочется научиться делать такое хоть даже не кроссбр-но, я не могу просто пройти мимо и забить, так не могу, поэтому прошу пояснить логику этого метода click() от jq и перечислить встроенные методы js которые могут понадобится, мне бы толчок, а то не знаю даже как начать
Последний раз редактировалось zzzzzz, 08.07.2013 в 21:01.
|
|
|
|