Pracuję z biblioteką do przesyłania plików JavaScript, a jedną z jej funkcji jest używanie atrybutów wbudowanych HTML5 do przekazywania informacji do wtyczki.Przekazywanie funkcji JavaScript za pomocą wbudowanych atrybutów danych
Działa to doskonale dla wszystkich danych związanych, łańcuchów, liczb itp., Jednak wtyczka ma kilka metod wywoływania zwrotnego, do których można przypisać funkcję. Moim problemem jest to, że gdy próbuje przekazać funkcję javascript przez te inline danych atrybutów, takich jak to:
<input type="file" name="test" data-on-finish="alert();">
Wtyczka podnosi odniesienie do onFinish() callback metody w porządku, ale kiedy próbuje wykonać niezależnie JavaScript Włożyłem w nie pojawia się błąd:
Uncaught TypeError: Object alert(); has no method 'call'
ja zakładając, że czytanie alert();
jako ciąg znaków. Masz pomysł, jak przejść przez plik wykonywalny javascript do wtyczki?
wierzę plugin Używam jest rozszerzeniem do jQuery Prześlij plik plugin: https://github.com/blueimp/jQuery-File-Upload/wiki/Options
Aktualizacja: Próbowałem zostały również zdefiniowane globalnie za pomocą funkcji, takich jak to:
<script type="text/javascript">
function myTesting(){
alert('yay');
}
</script>
<input type="file" name="test" data-on-finish="myTesting">
próbowałem zmieniając atrybut data-on-finish
do myTesting
, myTesting()
, nadal nie miał szczęścia ...
Czy próbowałeś bez()? – Flash
Spróbuj, nie ma szczęścia. Dodałem aktualizację powyżej. – petehare
Myślę, że eval() wykona zadanie, ale może być niebezpieczne: http://stackoverflow.com/questions/86513/why-is-using-the-javascript-eval-function-a-bad-idea –