【发布时间】:2016-03-28 07:14:15
【问题描述】:
如标题所示,我正在尝试将 AJAX 添加到我网站上的搜索框,但 keyup 事件未触发。我正在使用这条消息中的函数https://stackoverflow.com/a/17317620/5690756
这是我的代码
<nav id="search" class="search-main">
<div class="search-trigger"></div>
<div class="search-general">
<div class="search-close"></div>
<input type="text" value="" id="autocomplete" name="s" class="search-input ui-autocomplete-input" placeholder="Arama" autocomplete="off">
<input type="button" class="search-button">
还有js代码
jQuery(document).ready(function($) {
$("#autocomplate").on('change keyup paste', function() {
alert("Girdim");
var lastValue = $("#autocomplate").val();
jQuery.ajax({
type : 'post',
url : helper.ajaxUrl,
data : {action : 'load_search_results',query : lastValue
},
beforeSend: function() {
$(this).prop('disabled', true);
},
success : function( response ) {
$(this).prop('disabled', false);
$('#modal_results').html( response );
}
});
});
});
警报功能在我的代码中不起作用我不知道如何解决这个问题。
编辑: 我有另一个父元素的功能。它可以阻止输入功能吗?我在开头添加了html代码以便清楚。
$("#search").click(function () {
if($(this).attr("class")=="search-main"){
$(this).attr("class","search-main expand");
$("#autocomplete").attr("placeholder","Lütfen dizi, oyuncu veya tür adı yazın.");
$("#autocomplete").focus();
}
return false;
});
谢谢
【问题讨论】:
-
它在这里工作jsfiddle.net/tg5op333/9如果有任何错误,请查看您的控制台
-
是页面加载时 HTML 的#autocomplate 输入部分,还是在页面加载后附加到 HTML 中?
-
不,它是 wordpress 上的 header.php 文件,控制台上没有错误。我在开发者控制台上禁用了缓存并且没有结果
-
我更新了问题,我有另一个用于父 div 点击事件的功能,它可以阻止输入更改事件吗?