我正在编写一个 Tampermonkey 脚本,它向页面添加一个按钮,然后向该按钮添加一个 onClick 事件。我在页面上有我想要的按钮,但是当我尝试按照有关用户脚本中单击事件的相关问题中的建议使用“addEventListener”附加单击事件时,事件处理程序在页面加载时触发,而不是在按钮单击时触发.
var testbutton = document.createElement("button");
testbutton.addEventListener('click', alert("Working"), false);
testbutton.id = "testbutton";
testbutton.innerHTML = "This is a button";
testElement.appendChild(testbutton);
Run Code Online (Sandbox Code Playgroud)
基本上,当页面加载时会触发“工作”警报,但当我单击按钮时不会触发。我也没有收到控制台反馈。我错过了什么?
长期读者,第一次在这里提问。
我正在整理一个 MySQL 书籍数据库作为一个学习项目。我正在尝试使用 PHP 和 MySQL 实现全文搜索。到目前为止它正在工作,但*截断运算符没有按预期工作。为简单起见,我将省略 PHP,因为在 PhpMyAdmin 中运行查询时的行为也是相同的。
SELECT * FROM Mainbooks WHERE MATCH(Title,Author,Description) AGAINST('blaze')
Run Code Online (Sandbox Code Playgroud)
返回包含 Richard Bachman 的“Blaze”条目的一行,但
SELECT * FROM Mainbooks WHERE MATCH(Title,Author,Description) AGAINST('blaz*')
Run Code Online (Sandbox Code Playgroud)
不返回任何行。再举一个例子,
SELECT * FROM Mainbooks WHERE MATCH(Title,Author,Description) AGAINST('Sacks')
Run Code Online (Sandbox Code Playgroud)
返回包含 Oliver Sacks 的“Migraine”的行,但
SELECT * FROM Mainbooks WHERE MATCH(Title,Author,Description) AGAINST('Sack*')
Run Code Online (Sandbox Code Playgroud)
不返回任何行。一个稍微不同的情况是
SELECT * FROM Mainbooks WHERE MATCH(Title,Author,Description) AGAINST('blaze*')
Run Code Online (Sandbox Code Playgroud)
或 SELECT * FROM Mainbooks WHERE MATCH(Title,Author,Description) AGAINST('偏头痛*')
两者都返回结果,显然忽略了*字符。我正在 MAMP 中运行它,如果这有什么不同的话。
我错过了什么?