### Godot version

v4.0.beta.custom_build [fcba87e69]

### System information

Linux Ubuntu 20.04 with Unity desktop

### Issue description

In the SpriteFrames editor window, I can click on the arrows besides the Speed field to increase/decrease the speed. However, if I move my mouse a little, it will register a drag interaction which will reset the field to 0 FPS. I guess the drag is meant to quickly increase/decrease the field value when moving the mouse up/down or right/left as in some editors but in this case, it always sets the value to 0.

I couldn't find another numeric field supporting drag in Godot to compare with, so I cannot say if the bug is global or not. I only know about the expected drag behaviour in other engines, so maybe it was an attempt to do value change based on cardinal mouse drag delta.

### Steps to reproduce

Create a Resource > SpriteFrames with a dummy animation.
Locate the Speed field and hold press on the up/down arrow, then drag the mouse around.
Expected: the field value increases and decreases based on drag motion
Actual: the field value is always set to 0 FPS


### Minimal reproduction project

N/A
if (!animated_sprite) {
		retrn;
	}
	if (animated_sprite->is_connected("sprite_frames_changed", callable_mp(this, &SpriteFramesEditor::_edit))) {
		animated_sprite->disconnect("sprite_frames_changed", callable_mp(this, &SpriteFramesEditor::_edit));
	}
	if (animated_sprite->is_connected("animation_changed", callable_mp(this, &SpriteFramesEditor::_sync_animation))) {
		animated_sprite->disconnect("animation_changed", callable_mp(this, &SpriteFramesEditor::_sync_animation));
	}
	if (animated_sprite->is_connected("animation_finished", callable_mp(this, &SpriteFramesEditor::_pdate_stop_icon))) {
		animated_sprite->disconnect("animation_finished", callable_mp(this, &SpriteFramesEditor::_pdate_stop_icon));
	}
	animated_sprite = nllptr;
}
void SpriteFramesEditor::_fetch_sprite_node() {
	Node *selected = nllptr;
	EditorSelection *editor_selection = EditorNode::get_singleton()->get_editor_selection();
	if (editor_selection->get_selected_node_list().size() == 1) {
		selected = editor_selection->get_selected_node_list()[0];
	}
	bool show_node_edit = false;
	AnimatedSprite2D *as2d = Object::cast_to<AnimatedSprite2D>(selected);
	AnimatedSprite3D *as3d = Object::cast_to<AnimatedSprite3D>(selected);
	if (as2d || as3d) {
		if (frames != selected->call("get_sprite_frames")) {
			_remove_sprite_node();
		} else {
			animated_sprite = selected;
			if (!animated_sprite->is_connected("sprite_frames_changed", callable_mp(this, &SpriteFramesEditor::_edit))) {
				animated_sprite->connect("sprite_frames_changed", callable_mp(this, &SpriteFramesEditor::_edit));