我想在jQuery中创建一个tictactoe项目,我遇到了一个重大问题......
瓷砖在<td>标签中,我试图使其成为当用户点击瓷砖时,它调用"标记"功能.
如果我们现在查看"标记"函数,$(this)则意图<td>是调用函数的节点.
但是,它没有做任何事情,所以我检查了控制台,显然$(this)是包含DOM Window对象.
无论如何我可以发送正确$(this)的"标记"功能吗?
谢谢!
<script type="text/javascript">
var TURN_X = false;
var TURN_O = true;
var turn = false; // this is to see whos turn it is.
$(document).ready(function(){
var listCells = $.makeArray($("td"));
$("td").click(function(){marked(listCells)}); //THIS IS WHERE I HAVE PROBLEMS
return false;
});
function marked(arr)
{
console.log($(this)); // THIS CONSOLE LOG RETURNS "DOM Window"
$(this).addClass("marked");
if(turn == TURN_X)
{
this.innerHTML = "X";
turn = false;
}
else
this.innerHTML …Run Code Online (Sandbox Code Playgroud) 如何触发li元素的click事件来指定angularjs指令的索引?我尝试使用$ first来触发第一个元素的click,但它不起作用.
谢谢你的帮助.
我有以下代码块:
function testJQueryClick(){
$('#button2').click(function(){ alert ('Debug'); return false; });
}
Run Code Online (Sandbox Code Playgroud)
当我调用该函数一次(然后单击按钮2)时,我得到预期的警报.当我第二次调用相同的函数然后单击按钮2时,我得到两个警报,第三次我得到三个,等等.jQuery似乎.click每次都附加事件,而不是替换它.
我希望每次调用它时.click都要替换处理程序.我在jQuery文档中找不到任何确认这是预期行为的内容.
我设法使用以下代码添加jQuery自动完成项右侧的链接:
function onClientSelect(event, ui) {
// My handling code goes here
event.preventDefault();
}
$("#mypage input[name='client']").autocomplete({
minLength: 1,
appendTo: $(this).parent(),
source: '/filter_client/',
select: onClientSelect,
focus: function (event, ui) {
event.preventDefault();
},
}).data("ui-autocomplete")._renderItem = function (ul, item) {
return $("<li></li>")
.data("item.autocomplete", item)
.append("<a>" + item.label + "</a>")
.appendTo(ul);
};
Run Code Online (Sandbox Code Playgroud)
我的服务器以这种格式返回元素标签:
<div class="ac-item-lb">My Item Label</div>
<a class="ac-item-a" href="/url_to_go_to/" target="_blank">View Detail</a>
Run Code Online (Sandbox Code Playgroud)
我想要做的是当我点击"查看详细信息"时打开新选项卡中的链接,单击任何其他区域就像正常一样执行onClientSelect.但是,当前左键单击链接也会执行onClientSelect.打开链接的唯一方法是单击中间滚轮或鼠标右键,然后选择"在新选项卡中打开".
我尝试使用event.stopImmediatePropagation()在链接上附加一个click事件处理程序,但这似乎不起作用.有谁知道如何解决这个问题?
如果我需要动态分配点击功能,有没有办法确保点击功能只分配一次而不重复?
this.click(function(){
alert('test');
})
Run Code Online (Sandbox Code Playgroud) 我有一些文本框,我希望专注于与WPF应用程序的正常行为略有不同.基本上,我希望他们的行为更像是网页上的文本框行为.也就是说,如果我点击文本框外的任何地方,它将失去焦点.这样做的最佳方法是什么?
如果答案是以编程方式移除焦点,那么在边界外检测Mouseclick的最佳方法是什么?如果我点击的元素将成为焦点的新接收者,该怎么办?
我遇到了Selenium WebDriver的问题.我尝试点击窗口页面外的链接(你需要向上滚动才能看到它).我目前的代码是相当标准的:
menuItem = driver.findElement(By.id("MTP"));
menuItem.click();
// I also tried menuItem.sendKeys(Keys.RETURN);
Run Code Online (Sandbox Code Playgroud)
我知道我可以向上滚动,在这种情况下它会起作用.但是如果你有很长的项目列表,你不一定知道你需要向下滚动多远.
有没有办法点击不在页面可见部分的链接(但滚动时会显示)?
作为旁注,我正在使用Firefox,但我打算也使用IE7/8/9和Chrome.
任何帮助将不胜感激.
编辑:我担心我不能提供源代码,因为我工作的公司不允许它,但我可以给出我想点击的链接的代码:
<div class="submenu">
<div id="MTP">Link title</div>
</div>
Run Code Online (Sandbox Code Playgroud)
链接可见时,完全相同的代码有效,只有当链接不可用时才能使用.
编辑2:实际上,奇怪的是,它不会引发任何异常,只是转到下一条指令.所以基本上,会发生什么:
menuItem = driver.findElement(By.id("MTP")); // no exception
menuItem.click(); // no exception
//... some code ensuring we got to the next page: timeout reached
driver.findElement(By.id("smLH")).click(); // NoSuchElementException, as we're on the wrong page.
Run Code Online (Sandbox Code Playgroud) 我正在尝试显示当用户点击它时删除的通知.我正在使用NotificationCompat该类来构建我的通知,然后调用setAutoCancel(true)我的构建器.这是一段代码:
NotificationCompat.Builder mBuilder = new NotificationCompat.Builder(this)
.setSmallIcon(R.drawable.ic_launcher)
.setContentTitle("title")
.setAutoCancel(true)
.setContentText("content");
NotificationManager notificationManager = (NotificationManager)getSystemService(Context.NOTIFICATION_SERVICE);
notificationManager.notify(0, mBuilder.build());
Run Code Online (Sandbox Code Playgroud)
通知已正确添加,但当我点击它时没有任何反应!我究竟做错了什么?
所以我正在编写一个可以在页面上运行的脚本,但我想点击这个元素,不幸的是,它没有id得到,我试图使用.click()它上面的功能,但它不起作用,这里是我有什么,谁知道如何解决它?这也是该课程中唯一的元素
var classes = document.getElementsByClassName('rateRecipe btns-one-small');
var Rate = classes[0];
Rate.click();
Run Code Online (Sandbox Code Playgroud) 我将测试一个网络应用程序.我的表格中有一个按钮可供选择所有条目.我试过了:
driver.wait.until(ExpectedCondition.element_to_be_clickable((By.XPATH, "myXpath"))).click()
Run Code Online (Sandbox Code Playgroud)
selenium点击按钮,但没有任何反应.(还有send_Keys(Keys.Return))应用程序是用GXT开发的,我的事情是按钮背后有很多javascript.是否有可能等到事件加载器准备好了?在点击之前等待解决问题,但不是自动化测试的解决方案.