button.click() jQuery 问题
button.click() issue with jQuery
我正在做一个项目,刚刚创建了一个表单,我也使用了Bootstrap网格来构建设计,代码如下:
<div class="container well" id="block1">
<h4 style="text-align:center">Stock Market Search</h4>
<form>
<div class="form-group row">
<label for="stock" class="col-sm-3">Enter Stock Ticker Symbol:*</label>
<div class="col-sm-6">
<input type="text" class="form-control" id="stock" placeholder="e.g. AAPL" name="stockName">
</div>
<div class="col-sm-3">
<button type="submit" class="btn btn-primary"> <span class="glyphicon glyphicon-search"></span> Get Quote</button>
<button type="submit" class="btn btn-default"><span class="glyphicon glyphicon-refresh"></span> Clear</button>
</div>
</div>
</form>
</div>
但是当我试图从 www.google.com 中获取数据时,button.click() 只是不起作用。我的 jQuery 代码如下:
$(document).ready(function () {
$(document).on("click", "#block1 .glyphicon-search", function(){
$.ajax({
url: 'http://www.google.com',
success: function(data){
alert(data);
}
})
})
});
可能是什么问题?我想这是 iQuery 和 Bootstrap 冲突的问题。但是有人能帮忙吗?
(P.S。跨域问题通过在 Chrome 上安装扩展来解决,所以这不是这里的问题。)
First : jquery on
是live listener 不需要包在里面 DOM ready:
$(document).on("click", "#block1 .glyphicon-search", function(){
$.ajax({
url: 'http://www.google.com',
success: function(data){
alert(data);
}
})
})
其次: Ajax请求不能指向外域(貌似安装扩展可以解决)
第三: 点击监听器在 span 而不是按钮上。
第四: 跨度为空(可能是错误的)所以宽度为零(不可点击)!
第五种:防止表单按下按钮提交或完全移除表单标签
最后确保您的页面中没有多个 #block1
ID,以便选择器仅在第一次出现时起作用。
我正在做一个项目,刚刚创建了一个表单,我也使用了Bootstrap网格来构建设计,代码如下:
<div class="container well" id="block1">
<h4 style="text-align:center">Stock Market Search</h4>
<form>
<div class="form-group row">
<label for="stock" class="col-sm-3">Enter Stock Ticker Symbol:*</label>
<div class="col-sm-6">
<input type="text" class="form-control" id="stock" placeholder="e.g. AAPL" name="stockName">
</div>
<div class="col-sm-3">
<button type="submit" class="btn btn-primary"> <span class="glyphicon glyphicon-search"></span> Get Quote</button>
<button type="submit" class="btn btn-default"><span class="glyphicon glyphicon-refresh"></span> Clear</button>
</div>
</div>
</form>
</div>
但是当我试图从 www.google.com 中获取数据时,button.click() 只是不起作用。我的 jQuery 代码如下:
$(document).ready(function () {
$(document).on("click", "#block1 .glyphicon-search", function(){
$.ajax({
url: 'http://www.google.com',
success: function(data){
alert(data);
}
})
})
});
可能是什么问题?我想这是 iQuery 和 Bootstrap 冲突的问题。但是有人能帮忙吗? (P.S。跨域问题通过在 Chrome 上安装扩展来解决,所以这不是这里的问题。)
First : jquery on
是live listener 不需要包在里面 DOM ready:
$(document).on("click", "#block1 .glyphicon-search", function(){
$.ajax({
url: 'http://www.google.com',
success: function(data){
alert(data);
}
})
})
其次: Ajax请求不能指向外域(貌似安装扩展可以解决)
第三: 点击监听器在 span 而不是按钮上。
第四: 跨度为空(可能是错误的)所以宽度为零(不可点击)!
第五种:防止表单按下按钮提交或完全移除表单标签
最后确保您的页面中没有多个 #block1
ID,以便选择器仅在第一次出现时起作用。