Кажется, что WheelEvent больше не имеет этого свойства, как говорится. Теперь они добавили deltaY и deltaX.
Теперь вам нужно получить доступ к event.deltaY
вместо event.wheelData
.
Но deltaY имеет противоположное значение wheelData. Это означает, что когда wheelData на событии был положительным (прокрутить вверх), deltaY будет отрицательным числом, и наоборот.
Пример:
Изменить это:
zoomScroll(event: WheelEvent) {
if (event.wheelDelta > 0) {
this.zoomIn();
} else if (event.wheelDelta < 0) {
this.zoomOut();
}
}
Для этого:
zoomScroll(event: WheelEvent) {
if (event.deltaY < 0) {
this.zoomIn();
} else if (event.deltaY > 0) {
this.zoomOut();
}
}
источник: https: // github.com/Microsoft/TypeScript/issues/9071
JavaScript является клиентским языком (он выполняется на веб-браузере после получения веб-страницы), в то время как PHP находится на стороне сервера (он выполняется, прежде чем веб-страница представляется). У Вас нет способа выполнить один вызов другой.
Существует функция JavaScript, вызванная xhttprequest, который позволяет Вам называть любой сценарий на веб-сервере и получать его ответ. Таким образом для решения проблемы можно создать Сценарий PHP что выводы некоторый текст (или XML или JSON), затем назвать его, и Вы анализируете ответ с JavaScript.
Этот процесс - то, что мы называем Ajax, и намного легче сделать это с хорошим инструментом, чем себя. Взгляните к JQuery, это - мощная все же простая в использовании библиотека Javascript, которая имеет встроенных помощников Ajax.
Пример с JQuery (сторона клиента):
$.ajax({
type: "POST", // the request type. You most likely going to use POST
url: "your_php_script.php", // the script path on the server side
data: "name=John&location=Boston", // here you put you http param you want to be able to retrieve in $_POST
success: function(msg) {
alert( "Data Saved: " + msg ); // what you do once the request is completed
}
Кажется, что Вы хотите Ajax.
Это - слишком большая тема для единственного ответа, но это должно получить Вас движение.
В основном JavaScript отправит Запрос HTTP в Сценарий PHP на Вашем сервере и затем сделает что-то с ответом. JSON - вероятно, что-то, о чем Вы захотите узнать также.
Самым близким, который Вы собираетесь получить, будет xajax, который позволит Вам перенести функцию PHP в вызов Ajax. Я использовал его вполне немного, прежде чем я начал работать с Платформой Зенда и был трудно также реализовать в OO путь.
С xajax Вы пишете функцию PHP, которая делает всю Вашу регулярную логику и затем возвращает объект ObjectResponse, который управляет браузером через Ajax (окна предупреждений, изменение HTML, CSS, и т.д.). Вы регистрируете свою функцию с xajax, и затем xajax выложит некоторый JavaScript в раздел Вашего HTML.
В Вашем HTML Вы просто вызываете ту функцию JavaScript, которую генерировал xajax, и это заботится об остальных через Ajax.
Косвенно возможно вызвать функцию PHP использование JavaScript. Как другие люди уже упомянули, Вы собираетесь хотеть сделать некоторый тип запроса - это должно не обязательно быть Ajax. Это могло быть синхронно. Не зная точно, что Вы пытаетесь выполнить, вот то, что я предложил бы:
Снова, это является немного общим, но Ваш вопрос - также. Надо надеяться, это дает своего рода направление.
Вы захотите сделать что-то как:
<form action="add_order.php" method="POST" id="add_order_form">
<!-- all of your form fields -->
<input type='submit' value='Add Order'>
</form>
<script type="text/javascript">
$("#add_order_form").submit(function() {
var action = $("#add_order_form").attr("action");
var data = $("#add_order_form").serialize();
$.post(action, data, function(json, status) {
if(status == 'success') {
alert(json.message);
} else {
alert('Something went wrong.');
}
}, "json");
return false;
});
</script>
И затем назовите файл PHP add_order.php
с чем-то как:
$success = 0;
$con = mysql_connect("localhost", "146687", "password");
if(!$con) {
$message = 'Could not connect to the database.';
} else {
// SANITIZE DATA BEFORE INSERTING INTO DATABASE
// LOOK INTO MYSQL_REAL_ESCAPE_STRING AT LEAST,
// PREFERABLY INTO PREPARED STATEMENTS
$query_ok = mysql_query("INSERT INTO `orders` ....");
if($query_ok) {
$success = 1;
$message = "Order added.";
} else {
$message = "Unable to save information";
}
}
print json_encode(array('success' => $success, 'message' => $message));
Чтобы эта красота работала, необходимо будет перейти к веб-сайту jQuery, загрузить его и включать jquery.js файл.
Я не протестировал вышеупомянутое, но оно должно работать.Удачи.
Извините, Ваш вопрос является слишком основным. В зависимости от того, какие PHP функционируют, Вы хотите обратиться к formsubmit Ajax, не поможет Вам. Вы знаете о фундаментальном (сторона клиента/серверная сторона) различия между PHP и JavaScript?
Да, другое большое и легкое учебное руководство для изучения ajax:
http://24ways.org/2005/easy-ajax-with-prototype/
Прототип является другой вещью, которую я рекомендую, если Вы не перешли в далеко с Вашим проектом и должны вернуться большая функциональность.
Удачи!