调用“sliderValue.Content = widthValue”(如下在滑块的 ValueChanged 事件处理程序中定义)时出现奇怪的空对象引用错误。
XAML:
<Window x:Class="StrangeError.MainWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
Title="MainWindow" Height="166.066" Width="326.351">
<Grid>
<Slider x:Name="widthSlider" HorizontalAlignment="Left" Margin="6,56,0,0" VerticalAlignment="Top" Width="257" TickFrequency="10" SmallChange="0.01" TickPlacement="BottomRight" IsSnapToTickEnabled="True" Ticks="1, 2, 3, 4, 5, 6, 7, 8, 9, 10" ValueChanged="widthSlider_ValueChanged" Minimum="1"/>
<Label x:Name="sliderValue" Content="" HorizontalAlignment="Left" Margin="262,50,0,0" VerticalAlignment="Top"/>
</Grid>
Run Code Online (Sandbox Code Playgroud)
代码:
namespace StrangeError
{
/// <summary>
/// Interaction logic for MainWindow.xaml
/// </summary>
public partial class MainWindow : Window
{
int widthValue;
public MainWindow()
{
InitializeComponent();
widthValue = 1;
sliderValue.Content = 1;
}
private void widthSlider_ValueChanged(object sender, …Run Code Online (Sandbox Code Playgroud) 我有一个 id #login 的按钮和一个包含以下行的 javascript 文件:
document.getElementById('login').addEventListener('click', 'LoginPressed()')
Run Code Online (Sandbox Code Playgroud)
作为测试,我做了这个功能:
function LoginPressed(){
console.log('was login pressed already??')
}
Run Code Online (Sandbox Code Playgroud)
每次页面加载时我的函数都会被调用。我该如何阻止这种情况发生?
请注意,我还尝试了不在引号中的回调,而不是作为函数:
document.getElementById('login').addEventListener('click', LoginPressed())
document.getElementById('login').addEventListener('click', LoginPressed)
document.getElementById('login').addEventListener('click', 'LoginPressed')
Run Code Online (Sandbox Code Playgroud) 鼠标单击和鼠标按下之间的区别 - 鼠标单击仅发生一次,但鼠标按下每次发生我的鼠标按下
这是我的简单示例 - 我不知道为什么该事件只发生一次,但是我使用的是鼠标按下而不是鼠标单击
<canvas id="drawhere" onmousedown="console.log('HH')" width="600" height="500"></canvas>
Run Code Online (Sandbox Code Playgroud)
它只写一次“HH”!再次上下移动鼠标 - 重新写入
当我的鼠标按下时,我需要在每次勾选时写入它 - 任何帮助:))
我不使用 jquery ,仅使用 javascript
我试图单击一个排序图标,该图标将触发更改列表的顺序。
为了使其更简单,假设您有一个按钮和另一个按钮,并且它们位于彼此不同的 div 上。
<div>
//Button 1
<button onclick={"some_click_handler"}>
</div>
<div>
//Button 2
<button>
{this.state.someToggle ? true : false}
</button>
</div>
Run Code Online (Sandbox Code Playgroud) 我有一个包含多行输入文本框的网格。我正在尝试动态计算/显示每行文本框的当前位置和剩余字符数(每个文本框最多可以是 100 个字符)
$("#mygrid tbody").on('focusin', function(e) {
if (e.target.tagName.toLowerCase() === 'input') {
let currentPosition = e.target.value.length === 0 ? 1 : e.target.value.length + 1;
let remainingCharacters = 100 - e.target.value.length;
}
});
$("#mygrid tbody").on('keydown', function(e) {
if (e.target.tagName.toLowerCase() === 'input') {
console.log("e.target.selectionStart : " + e.target.selectionStart);
console.log("e.target.value : " + e.target.value);
let currentPosition = e.target.selectionStart + 1;
let remainingCharacters = 100 - e.target.value.length;
}
});
Run Code Online (Sandbox Code Playgroud)
我看到的是,控制台日志语句显示有 1 个键的延迟,即当用户逐个键输入“123”时,记录的内容如下;
e.target.selectionStart : 2
e.target.value : 12
Run Code Online (Sandbox Code Playgroud)
我很困惑为什么会发生这种情况?
好吧。所以我做了一个事件处理程序。
const fs = require('fs');
fs.readdir('./events/', (err, files) => {
if (err) return console.error(err);
files.forEach(file => {
const eventFunction = require(`./events/${file}`);
if (eventFunction.disabled) return;
const event = eventFunction.event || file.split('.')[0];
const emitter = (typeof eventFunction.emitter === 'string' ? client[eventFunction.emitter] : eventFunction.emitter) || client;
const once = eventFunction.once;
try {
emitter[once ? 'once' : 'on'](event, (...args) => eventFunction.run(...args));
}
catch (error) {
console.error(error.stack);
}
});
});
Run Code Online (Sandbox Code Playgroud)
但我不确定应该在文件夹的文件中放入什么。我基本上想做一个自动回复文件。我添加了,但没有显示任何反应。
client.on('message', message => {
if ((message.content === `<@${client.user.id}> <3` || message.content === `<@!${client.user.id}> <3`)) …Run Code Online (Sandbox Code Playgroud) 我将如何去创造一个更比OnClickListener一Button.假设我有一个应用程序,在第一次单击时开始录制音频,并在下一次单击时停止录制.我该怎么做呢?
我尝试使用两个OnClickListeners但是没有用.
编辑
我正在尝试为我当前的应用程序进行更多实现.如果音频正在录制,我试图在运行时更改按钮上的文本.我希望按钮上的文字说录音..并且在1秒后它应该说录音.... 这应该在音频录制的整个时间发生.我试过实现这个,但我无法让它工作.这是我的代码:
audio.setOnClickListener(new OnClickListener() {
public void onClick(View v) {
if(audioRecording == false){
audio.setText("Recording..");
startRecording();
audioRecording = true;
while(!audio.isPressed()){
audio.setText("Recording...");
try {
Thread.sleep(2000);
} catch (InterruptedException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
attachVoice.setText("Recording..");
}
}
else{
audio.setText("Press to Record");
stopRecording();
audioRecording = false;
}
}
});
Run Code Online (Sandbox Code Playgroud) 那是我的代码:
override func keyDown(theEvent: NSEvent) {
super.keyDown(theEvent)
switch theEvent.character {
case NSLeftArrowFunctionKey:
println(1)
case NSRightArrowFunctionKey:
println(2)
case NSDownArrowFunctionKey:
println(3)
case NSUpArrowFunctionKey:
println(4)
default:
break
}
}
Run Code Online (Sandbox Code Playgroud)
如您所见,我尝试识别是否按下了其中一个箭头按钮,但它始终不起作用。甚至函数 keyDown 似乎也从未被调用过。
这就是 中所写的viewDidAppear,如果这可以帮助您提供答案:
override func viewDidAppear() {
super.viewDidAppear()
self.view.window?.styleMask = NSClosableWindowMask | NSMiniaturizableWindowMask | NSTitledWindowMask
var frame = self.view.window?.frame
var newHeight = CGFloat(438)
var newWidth = CGFloat(415)
frame?.size = NSMakeSize(newWidth, newHeight)
self.view.window?.setFrame(frame!, display: true)
self.view.window?.backgroundColor = NSColor.darkGrayColor()
}
Run Code Online (Sandbox Code Playgroud)
在viewDidLoad我只是添加一些不可选择和不可编辑的 NSTextFields 像这样:
var x = CGFloat(0)
var y = …Run Code Online (Sandbox Code Playgroud) 用户更改文本时不会触发TextChanged事件.我认为生成的代码可能是错误的.
private void textBox1_TextChanged(object sender, EventArgs e)
{
textBox2.Text = textBox1.Text;
}
Run Code Online (Sandbox Code Playgroud) javascript ×3
c# ×2
jquery ×2
android ×1
buttonclick ×1
callback ×1
cocoa ×1
discord ×1
discord.js ×1
keydown ×1
macos ×1
mouseevent ×1
onclick ×1
reactjs ×1
setstate ×1
swift ×1
wpf ×1